Две вещи:
1. Вероятно, это то, что вы ищете
<script>
var t=0,resizing=false;
function _reload()
{
resizing=false;
window.location.reload(true);
}
window.addEventListener('resize',function(){
if(!resizing){
resizing=true;
t=setTimeout(_reload, 2000);
}
});
</script>
перед использованием, можете ли вы убедиться, что в вашем экземпляре chart.js вы используете параметр responseive: true?Также вам, вероятно, понадобится использовать параметр keepAspectRatio: true.