如何根据数据在Highchart中绘制动态系列
问题描述:
我想根据数据添加系列数量。有时对于相同的请求的例子,High-chart可能包括2个系列或4个系列。如何根据数据在Highchart中绘制动态系列
例:
Request 1
[[ser1,ser2,datetime],[ser1,ser2,datetime]]
Request 2
[[ser1,ser2, ser3,ser4, datetime],[ser1,ser2, ser3,ser4, datetime]]
其中, “日期时间” 为x轴值
能否请你建议我如何处理这个。
答
您可以在预处理中将数据转换为正确的格式。
var json = [
[2, 4, 1500284119000],
[10, 20, 1500284141000]
],
series = [],
each = Highcharts.each,
len;
each(json, function(items, i) {
len = items.length;
each(items, function(item, j) {
if (j < len - 1) {
if (i === 0) { // create series structure
series.push({
data: []
});
}
series[j].data.push({
x: items[len - 1],
y: item
})
}
});
});
实施例:
答
如果您的xAxis是日期时间,我建议您更改响应结构。 更好地包括与数据一起时间戳如下
seriesData = [[timestamp1, val1],[timestamp2, val],[timestamp3, val3],......]
现在你的请求是这样的
Request 1
[seriesData1, seriesData2, seriesData3,seriesData4]
Request 2
[seriesData1, seriesData2, seriesData3, seriesData4, seriesData5, seriesData6, seriesData7,seriesData8]
我想你去对datetime一个单独的数组,因为你有一系列数据diffent数为2个不同的时间戳。
在上述方法中。您可以直接为请求的传入响应提供系列部分。
希望这会帮助你。