Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chart.js:单击加载新数据_Javascript_Chart.js - Fatal编程技术网

Javascript Chart.js:单击加载新数据

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

我有多个数据集,希望在单击按钮时进行更改。以下是我需要的一个示例:

如果单击“设置2”按钮,图表将加载正确的数据

但当我尝试加载“set 1”时,什么也没发生

当我使用
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(…)
。获取新数据时调用该函数。