首页 > 解决方案 > 添加到图表中的新点在图表 highstock 的最后一个不可见

问题描述

我在highstock我的角度应用程序中使用烛台图。这是我的股票图表的选项。

rangeSelector: {
        enabled: false,
      },
      colors: Global.colors,
      title: {
        text: ''
      },
      xAxis: {
        crosshair: true
      },
      yAxis: [
        {
          opposite: true,
          labels: {
            align: 'left',
            x: 5
          },
          height: '60%',
          lineWidth: 2,
          resize: {
            enabled: true
          },
        }, {
          labels: {
            align: 'right',
            x: -3
          },
          top: '65%',
          height: '35%',
          offset: 0,
          lineWidth: 2
        }],
      tooltip: {
        split: false,
        shared: true,
      },
      credits: {
        enabled: false
      },
      scrollbar: {
        enabled: false
      },
      legend: {
        enabled: false
      },
      plotOptions: {
        series: {
          marker: {
            enabled: false
          }
        },
      }

在此,如果您观察到,我已禁用rangeSelector,navigatorscrollbar. 在这里,我从服务器获取值并将值设置为图表中系列的一部分。

stockChart.addSeries({
  type:'candlestick',
  name:this.seriesName,
  data:this.seriesData
});

现在,在这。每当我必须添加一个我通过网络套接字接收的点时。我需要从数据数组中删除第一个值,然后添加一个新值。总之转变和推动。

updateChart(newValue){
   this.seriesData.shift();
   this.seriesData.push(newValue);
   this.stockChart.series[0].setData([]);
   this.stockChart.series[0].setData(this.seriesData);
}

每当执行此方法时,都会将一个新点添加到seriesData数组中,并将其作为系列数据应用于图表,但除非我不将其拖到左侧,否则刻度是不可见的。此外,图表似乎没有更新。我尝试过同样的series[0].addPoint(newValue,true,true)方法来添加一个点和班次,但它对我不起作用。

标签: angularhighcharts

解决方案


推荐阅读