如何在Highcharts中传递数据(线图)

时间:2013-11-15 10:29:40

标签: javascript highcharts

我想画一个Line Graph with irregular Time interval。我想通过Ajax调用将数据传递给它。我该怎么做?

我的数据格式如下 -

result = {u'New Delhi': [[1383741000000L, 54.2], [1383741900000L, 59.34], [1383742800000L, 64.3]], u'Bangalore': [[1383741000000L, 1608.2], [1383741900000L, 1611.3], [1383742800000L, 1612.29]]}

result = {'name1':[[time1(in secs), value1][time1(in secs), value1]], 'name2':[[time1(in secs), value1][time2(in secs), value2]] }

就像这样。

series: [{
    name: result.keys(),
    data: result.values()
}]

我应该得到两条线和它们各自的值。

如何将值传递给数据。?

1 个答案:

答案 0 :(得分:2)

Highcharts的数据可以是键值对。您需要在JS中调整AJAX响应对象。我觉得你应该做这样的事情(如果你有任何一系列的城市):

series = [];
for(var i in cities)    {  
    var values = [];
    for(var pair in result[cities[i]])   {
        values.push(result[cities[i][pair]);
    }
    series[i] = { "name" : cities[i], "value": values};
}

'cities'是您在AJAX响应中获得的所有城市的数组  您可以使用以下代码从响应中提取所有城市:

var cities = [];
$.each(result, function(index, data) {
    cities.push(index)
});