我使用 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的酒吧将下降到10从50,而不是设置为0然后动画到10。
我在文件里没有找到任何关于这个的东西... ... 是我做错了什么,还是这个图书馆不可能做到?