如何根据数据在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个不同的时间戳。

在上述方法中。您可以直接为请求的传入响应提供系列部分。

希望这会帮助你。