2017-07-17 70 views
0

我想根據數據添加系列數量。有時對於相同的請求的例子,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軸值

能否請你建議我如何處理這個。

回答

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 
     }) 
    } 
    }); 

}); 

實施例:

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一個單獨的數組,因爲你有一系列數據diffent數爲2個不同的時間戳。

在上述方法中。您可以直接爲請求的傳入響應提供系列部分。

希望這會幫助你。