3👍
If I rememeber, chart.js assigns these objects to own variables passed by reference so try mutating in place instead of assigning(=) to config property.
function update_chart_data(id){
$('canvas[id^="rank-"]').each(function(){
var id = parseInt($(this).attr('value'));
id --;
var i;
var update_data = data_array2[keyArr2[id]];//here is to get update data
var data = rank_chart.config.data;
data.datasets[0].data.length = 0;
data.labels.length = 0
for(i = 0; i < update_data.length ; i++){
data.labels.push(update_data[i]['numberId']);
data.datasets[0].data.push(update_data[i]['value']);
}
rank_chart.update();
});
}
Source:stackexchange.com