Javascript Chart.js:单击加载新数据
我有多个数据集,希望在单击按钮时进行更改。以下是我需要的一个示例: 如果单击“设置2”按钮,图表将加载正确的数据 但当我尝试加载“set 1”时,什么也没发生 当我使用Javascript Chart.js:单击加载新数据,javascript,chart.js,Javascript,Chart.js,我有多个数据集,希望在单击按钮时进行更改。以下是我需要的一个示例: 如果单击“设置2”按钮,图表将加载正确的数据 但当我尝试加载“set 1”时,什么也没发生 当我使用console.log检查时,我发现两个按钮的foo变量值相同。更改此项: myChart.data.datasets[0] = foo['datasets'][0]; myChart.data.labels = foo['labels']; myChart.update(); 为此: myChart.config.data
console.log
检查时,我发现两个按钮的foo
变量值相同。更改此项:
myChart.data.datasets[0] = foo['datasets'][0];
myChart.data.labels = foo['labels'];
myChart.update();
为此:
myChart.config.data = foo;
myChart.update();
评论后编辑:
看起来只是eval行为不正常,为什么不将所有数据放在一个对象中,分成两个,而不是对变量运行eval?我认为它可以工作,但没有动画。是否可以在每次加载新数据时运行动画?因此您应该使用myChart.destroy();获取完整动画的一种快速方法是每次替换完整的表,而不是更新数据属性
update()
很可能用于流式数据。@alttag您能举一个例子说明如何做到这一点吗?在函数中包装myChart=new Chart(…)
。获取新数据时调用该函数。