如何制作此示例http://www.highcharts.com/demo/?example=spline-plot-bands&theme=default,实时更新,每秒更新一次,就像在此示例http://www.highcharts.com/demo/?example=dynamic-update&theme=default中一样。
第一个例子,带有情节带的样条,正是我所追求的; 2个绘图,带有隐藏或显示其中一个的选项.. 唯一缺少的就是让它们生效并像其他例子一样每秒更新。
我怎么可能实现它?
谢谢!
答案 0 :(得分:2)
第二个实时更新是通过为load
chart
事件添加计时器来完成的
chart: {
//...
events: {
load: function() {
// set up the updating of the chart each second
var series = this.series[0];
setInterval(function() {
var x = (new Date()).getTime(), // current time
y = Math.random();
series.addPoint([x, y], true, true);
}, 1000);
}
}
//...
}
因此,当图表加载完毕后,调用setInterval
并每隔1000毫秒(即每秒)调用提供的函数; setInterval
的回调只是通过series.addPoint
添加新点。
您需要做的就是添加一个load
事件处理程序,设置适当的setInterval
调用以添加新点。在更现实的情况下,您使用setTimeout
启动AJAX调用以获取更多数据,然后在AJAX的成功回调中,您将添加新点并再次调用setTimeout
以安排另一个AJAX调用将在另一秒后(或在您的应用程序中适用的任何时间间隔)进行。
Highcharts documentation看起来相当全面,每个示例(其中有很多)都有一个方便的“查看选项”按钮,用于查看代码,因此通过一些研究,设置应该是相当直接的。 / p>