如何将两组数据合并到Highcharts中的一个图表中?

如何将两组数据合并到Highcharts中的一个图表中?,charts,highcharts,Charts,Highcharts,我对海图一无所知,所以请事先原谅我的错误 我有一张图表,它显示了根据datetime使用的带宽量。无论何时在xAxis上缩放图表,我都需要向用户显示更多数据;这意味着当我们看到一段时间的细节时,应该弹出新的数据。幸运的是,我可以访问这些新数据,但主要的问题是我不知道如何将这些新数据与我的旧图表结合起来 为了让我的问题更生动,让我们想象一下这样的场景:假设我在xAxis上的每个月都有过去2年的带宽使用量,我在yAxis上有一个值,然后我放大图表的某个部分,图表变得更宽,xAxis上会弹出新的点,当

我对海图一无所知,所以请事先原谅我的错误

我有一张图表,它显示了根据datetime使用的带宽量。无论何时在xAxis上缩放图表,我都需要向用户显示更多数据;这意味着当我们看到一段时间的细节时,应该弹出新的数据。幸运的是,我可以访问这些新数据,但主要的问题是我不知道如何将这些新数据与我的旧图表结合起来

为了让我的问题更生动,让我们想象一下这样的场景:假设我在xAxis上的每个月都有过去2年的带宽使用量,我在yAxis上有一个值,然后我放大图表的某个部分,图表变得更宽,xAxis上会弹出新的点,当我们设置zoomtype:“x”时,highcharts中会自动出现这种情况,对于其中的一些点,我在yAxis上有一些与之对应的值,我希望在我的图表中考虑这些新点。对于大规模数据,我应该怎么做?e、 g.当我有2年的数据,并且我想以1分钟的精度缩放时,手动在旧序列之间包含新点是不可行的

由于我的代码太大,放在这里会更复杂,因此我尝试通过图片来说明我想要的结果:

1这是缩放前的图表:

2缩放后:

3和我不知道如何得出的最终结果:

任何帮助都将不胜感激

看看这个现场演示:

我使用AfterSetExtrems事件检查当前显示的时间跨度,并设置适当的数据。如果短于30天,我会加上额外的分数。否则,我将恢复默认数据。pointsAdded帮助我控制这些操作是否真正需要

events: {
  afterSetExtremes: function(e) {
    var series = this.series[0];

    if (pointsAdded && e.max - e.min > 30 * day) {
      console.log('Set default data');
      series.setData(data.slice());
      pointsAdded = false;
    } else if (!pointsAdded) {
      console.log('Add points');
      additionalData.forEach(function(p) {
        series.addPoint(p, false);
        series.chart.redraw();
        pointsAdded = true;
      });
    }
  }
}
要查看它是否正常工作,请选择最近20天左右的时间。然后单击“全部”按钮返回默认视图

API参考资料: