Highstock - 如何使用JSON-Array添加多个系列

时间:2013-02-01 09:23:02

标签: php arrays json highstock

我的目标:我想绘制多个系列的HighStock-chart。数据由AJAX从data.php加载。 data.php的输出是一个JSON-Array

我的问题:我不知道从JSON数据中获取数据

输出是

[[时间戳,值1,值],[时间戳,值1,值]]

系列1应该是 - >时间戳和值1

系列2应该是 - >时间戳和值2

这是我的代码

// Draw the chart
$(function(){

        /* The chart is drawn by getting the specific data from "data.php".
         * The configuration settings are transmitted by GET-Method. The output is an JSON-Array.  */

        $.getJSON('data.php',
        function(data) {


        chart = new Highcharts.StockChart
        ({
        chart:  {  renderTo: 'chartcontainer', type: 'line'  },
        title:  { text: 'You see the data of the last hour!' },
        xAxis: {  type: 'datetime', title: { text: 'time'  } },
        yAxis: { title: { text: 'unit'  } },
        series: [{ name: 'series1', data: data },{ name: 'series2', data: data }],

        });
    });
});

我想我必须改变

series: [{ name: 'series1', data: data },{ name: 'series2', data: data }],

但我不知道是什么

1 个答案:

答案 0 :(得分:1)

遍历data数组的所有项目,并填充两个单独的数组:

var series1 = [];
var series2 = [];
for (var i = 0; i < data.length; i++) {
  series1.push([data[0], data[1]);
  series1.push([data[0], data[2]);
}

然后在每个系列数组中都有时间戳值对。

在php中执行此操作可能会更有效,尤其是如果您可以替换当前的json创建。