多系列highstock实时图表

时间:2015-06-17 16:48:36

标签: javascript jquery ajax highcharts real-time

我已经有一个实时的实时图表,其中一个系列正在运行。就像this tutorial一样。

这是我的js代码

[1430687116000,994]

这是live-server-data.php传递的JSON

{{1}}

如何使js脚本图形多个系列?我的猜测是迭代JSON数组传递并为每个系列添加点,但不知道如何在js,jquery,ajax或者我必须使用的任何内容上实现它。

1 个答案:

答案 0 :(得分:0)

你需要两件事:

1)您的服务器应该在该请求中返回更多信息,例如:

Method 'liveOperationSucceeded' with Objective-C selector 'liveOperationSucceeded:' conflicts with previous declaration with the same Objective-C selector

或者更好的格式只提供一次时间戳:

[ [1430687116000, 994], [1430687116000, 5], ... , [1430687116000, 11] ]

2)现在只需更新所有系列:

{
    "timestamp": 1430687116000,
    "points": [ 994, 5, ... , 11 ]
}

或者使用JSON的第二种格式:

$.ajax({
    url: 'live-server-data.php',
    success: function(points) {
        var series = chart.series,
            shift;

        $.each(series, function(i, s) {
            shift = s.data.length > 20;
            s.addPoint(points[i], false, shift);
        });
        setTimeout(requestData, 1000);   
        chart.redraw(); 
    },
    cache: false
});