如何根据数据在Highchart中绘制动态系列

how to draw dynamic series in Highchart based on data

我想根据数据添加系列数。例如有时对于相同的请求,High-chart 可能包括 2 个系列或 4 个系列。

例如:

Request 1
[[ser1,ser2,datetime],[ser1,ser2,datetime]]

Request 2
[[ser1,ser2, ser3,ser4, datetime],[ser1,ser2, ser3,ser4, datetime]]

其中 "datetime" 是 x 轴值

你能建议我如何处理这个问题吗?

如果您的 xAxis 是日期时间,我建议您更改响应结构。 最好包括时间戳和数据如下

seriesData = [[timestamp1, val1],[timestamp2, val],[timestamp3, val3],......]

现在你的请求看起来像这样

Request 1
[seriesData1, seriesData2, seriesData3,seriesData4]

Request 2
[seriesData1, seriesData2, seriesData3, seriesData4, seriesData5, seriesData6, seriesData7,seriesData8]

我认为您为日期时间准备了一个单独的数组,因为您有不同数量的数据系列用于 2 个不同的时间戳。

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

希望对您有所帮助。

您可以在预处理中将数据转换为正确的格式。

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

});

示例: