我有一个流程图,我想通过 AJAX 动态更新。
我最初可以渲染图表,但每当我尝试更新数据集并重新绘制图表时,它都会重置我的所有数据点:
plot.setData(dataSet);
plot.draw();
我已经尝试了几种不同的数组设置,看起来我正在向它传递正确的数据 - 图表只是不接受。
大家有什么想法吗?谢谢!
http://datasift.islsandbox.com/
此示例使用 WebSocket,因此 WebKit 浏览器是测试的最佳选择。
最佳答案
在您的代码中,您有两件事与flot设置有关。加载时,您可以执行以下操作:
var plot = $.plot($("#flotchart"), [{
data: [[35, 0]],
bars: {show: true, horizontal: true}
}]);
然后,您通过 AJAX 获取一些新数据并执行以下操作:
var dataSet = [[pacCount, 0]];//pacCount is a number that increments each call
plot.setData(dataSet);
plot.draw();
缺少的是,在您的初始调用中,您使用的数据格式中每个系列都是一个对象,但是当您第二次调用 setData
时,您使用的是“系列作为数组”的变体。我不太确定在哪里,但那是困惑的。以下是如何在第二次调用中修复该问题:
var dataSet = [[pacCount, 0]];//pacCount is a number that increments each call
plot.setData([{
data:dataSet,
bars: {show: true, horizontal: true}
}]);
plot.draw();
关于jquery - 使用 flot 更新 dataSet 会重置数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5767727/