我想根据数据添加系列数。有时对于同一请求的示例,高图表可能包括2个系列或4个系列。
前:
Request 1
[[ser1,ser2,datetime],[ser1,ser2,datetime]]
Request 2
[[ser1,ser2, ser3,ser4, datetime],[ser1,ser2, ser3,ser4, datetime]]
其中" datetime"是x轴值
您能否建议我如何解决这个问题。
答案 0 :(得分:1)
如果您的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设置了一个单独的数组,因为你有2个不同时间戳的数据序列数量不同。
在上述方法中。您可以使用请求的传入响应直接提供系列部分。
希望这会对你有所帮助。
答案 1 :(得分:1)
您可以在预处理中将数据转换为正确的格式。
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
})
}
});
});
示例: