第二个中的实时更新是通过在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 文档看起来相当全面,每个示例(其中有很多)都有一个方便的“查看选项”按钮,用于查看代码,因此通过一些研究,设置应该相当简单。