高图删除第一个点

时间:2018-09-12 07:55:22

标签: angular highcharts

我每1秒在柱形图中添加点数。我使用addPoint函数来添加串联点。 但是,当点数> 5时,我想删除第一个点。 请参见下面的代码:

  setInterval(() => {
          let data = self.loadData();
          let seriesData = this.userOptions.series[0].data;
          let newDataRejected = seriesData;
          if (seriesData.length > 5) {
            self.chart.series[0].data[0].remove();#ERROR
          }
          data.subscribe(el => {           
            this.series[0].addPoint([el.x, el.rejected]);              
          })
        }, 1000);

但是在LINE #ERROR中出现错误Cannot read property '0' of undefined。 如何在列聊天中添加和删除积分?

1 个答案:

答案 0 :(得分:1)

代替手动删除第一点,更好的解决方案是使用addPoint函数的shift属性。

然后您需要做:

setInterval(() => {
  let data = self.loadData();
  let seriesData = this.userOptions.series[0].data;
  let newDataRejected = seriesData;
  if (seriesData.length > 5) {
    data.subscribe(el => {           
      this.series[0].addPoint([el.x, el.rejected], true, true);              
    })
  } else {
    data.subscribe(el => {           
      this.series[0].addPoint([el.x, el.rejected], true, false);              
    })
  }

}, 1000);

工作示例: https://jsfiddle.net/ewolden/1c5hkj8g/