我有一个我想通过
AJAX动态更新的flot图表.
我最初可以渲染图表,但每当我尝试更新dataSet并重绘图表时,它会重置我的所有数据点:
plot.setData(dataSet); plot.draw();
我已经尝试了几个不同的阵列设置,似乎我传递了正确的数据 – 图表只是不采取.
有人有主意吗?谢谢!
http://datasift.islsandbox.com/
此示例使用WebSockets,因此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,horizontal: true} }]); plot.draw();