我使用chartjs创建了一个基本的条形图,它工作得很好。现在,我想以基于时间的间隔更新值。我的问题是,在我创建图表之后,我不知道如何正确地更新它的值……
我的代码:
var ctx = $("#myChart").get(0).getContext("2d");
var dts = [
{
fillColor: "rgba(220,220,220,0.5)",
strokeColor: "rgba(220,220,220,1)",
data: [0, 0, 0, 0, 0]
}
];
var data = {
labels: ["Core#1", "Core#2", "Core#3", "Core#4", "Total"],
datasets: dts
};
var chart = new Chart(ctx);
chart.Bar(data);
//test code
setInterval( function () {
data.datasets[0].data = [random(), random(), random(), random(), random()];
chart.Bar(data);
},2000);在测试代码中,我使用datasets[0].data更新值-这是正确的方法吗?这样做的问题是,每次我调用chart.Bar()时,这些值都被重置为0,然后被动画化为随机值(就像我正在重新创建图表一样)。这样,所有的动画总是从0到值,这看起来很奇怪。我预计如果我将值从50更新到10,条形图将从50下降到10,而不是设置为0,然后动画设置为10。
我在文件里没有找到任何关于这个的东西...我是不是做错了什么,或者这对这个库来说是不可能的?
https://stackoverflow.com/questions/17354163
复制相似问题