1

我想绘制一个不规则时间间隔的折线图。我想通过我的 Ajax 调用将数据传递给它。我该怎么做?

我的数据具有以下格式-

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

IE

结果 = {'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()
}]

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

如何将我的值传递给数据。?

4

1 回答 1

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)
});
于 2013-11-15T10:56:57.693 回答