我的目标:我想绘制多个系列的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 }],
但我不知道是什么
答案 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创建。