Highcharts 系列数据数组
2013-04-17
52183
通过 ajax 调用,我得到了以下数据:
18,635,21,177,20,165,22,163,24,162,25,145,19,143,23,139,26,112,27,110,28,104,30,91,29,88,31,68,32,57,36,55,34,53,33,51,35,46,37,44,39,42,43,39,42,39,41,38,38,37,44,36,45,34,48,31,40,31,47,27,49,23,46,21,50,21,52,17,55,17,53,16,51,15,54,12,58,6,57,6,59,4,63,4,56,3,62,2,64,2,100,2,68,1,78,1,60,1,97,1,70,1,65,1,69,1,71,1
其中每个偶数都应该是键,每个奇数应该是值。但我不知道如何将其解析为 highcharts 数据。如果我使用 JSON.parse,最终键会变成“slice”,而让它正常工作的唯一方法是将其直接放入系列数据中,如下所示(将奇数和偶数分成单独的数组后):
[names[0] + ' years old', parseFloat(values[0])]
这很棒。但随后我需要以某种方式循环遍历数组,将所有内容推送到系列数据中,但我不知道该怎么做。如果我用这些数据进行 for 循环,如何插入 highcharts 系列数据?
2个回答
如果您在数组中拥有该系列数据,则可以按如下方式处理它:
var myData = [18, 635, 21, 177, 20, 165, 22, 163, 24, 162, 25, 145, 19, 143,
23, 139, 26, 112, 27, 110, 28, 104, 30, 91, 29, 88, 31, 68, 32,
57, 36, 55, 34, 53, 33, 51, 35, 46, 37, 44, 39, 42, 43, 39, 42,
39, 41, 38, 38, 37, 44, 36, 45, 34, 48, 31, 40, 31, 47, 27, 49,
23, 46, 21, 50, 21, 52, 17, 55, 17, 53, 16, 51, 15, 54, 12, 58, 6,
57, 6, 59, 4, 63, 4, 56, 3, 62, 2, 64, 2, 100, 2, 68, 1, 78, 1, 60,
1, 97, 1, 70, 1, 65, 1, 69, 1, 71, 1];
var mySeries = [];
for (var i = 0; i < myData.length; i++) {
mySeries.push([myData[i], myData[i + 1]]);
i++
}
一旦您在“mySeries”中拥有了系列数据,您就可以使用以下命令设置图表数据:
series:[{
data: mySeries
}]
或者,如果您想在呈现图表后添加数据,则可以使用以下命令动态添加系列数据:
chart.series[0].setData(mySeries);
http://jsfiddle.net/Cm3Ps/ (按“添加我的数据”按钮)。
SteveP
2013-04-17
实际上,该函数需要 int 数组作为参数。
假设您获得一个函数
drawChartFunction(data) {
// some code here
series: [{ data: data}]
}
您可以尝试一下:
array = {9,8,7,6}
var series = [];
for (var i = 0; i < array.length; i++) {
series.push([i, array.[i]]);
}
在执行
for
之后,您的
series
类似于
0,9
1,8
2,7
3,6
然后,您调用
drawChartFunction(series)
因此,您的图表使用 4 个点
0 1 2 3
及其值
9 8 7 6
Minh Nguyễn
2015-05-17