我想画一个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()
}]
我应该得到两条线和它们各自的值。
如何将值传递给数据。?
答案 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)
});