Highslide JS>高图 - 我该如何修改?

时间:2011-02-25 00:58:44

标签: javascript highcharts

如何制作此示例http://www.highcharts.com/demo/?example=spline-plot-bands&theme=default,实时更新,每秒更新一次,就像在此示例http://www.highcharts.com/demo/?example=dynamic-update&theme=default中一样。

第一个例子,带有情节带的样条,正是我所追求的; 2个绘图,带有隐藏或显示其中一个的选项.. 唯一缺少的就是让它们生效并像其他例子一样每秒更新。

我怎么可能实现它?

谢谢!

1 个答案:

答案 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>