我使用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);
Run Code Online (Sandbox Code Playgroud)
在测试代码中,我正在更新值datasets[0].data- 这是正确的方法吗?这个问题是,每次调用时chart.Bar(),值都会重置为0然后设置为随机值(就像我正在重新创建图表一样).这样,所有动画总是从0到值,看起来很奇怪.我希望如果我将值从50更新为10,则条形图将从50下降到10并且不会设置为0然后动画为10.
我没有在文档中找到任何关于此的内容......我做错了什么或者这个库是不可能的?
我有以下课程:
public class Order
{
public Order()
{
Items = new ObservableCollection<OrderItem>();
}
public string Code { get; set; }
public ICollection<OrderItem> Items { get; set; }
}
public class OrderItem
{
public OrderItem()
{
SubItems = new ObservableCollection<SubItem>();
}
public decimal Quantity { get; set; }
public decimal Price { get; set; }
public ICollection<SubItem> SubItems { get; set; }
}
public class SubItem
{
public DateTime Date { get; set; }
public decimal Quantity { get; set; } …Run Code Online (Sandbox Code Playgroud)