angular2-highcharts第一点在xAxis上失败

时间:2017-08-11 14:33:26

标签: angular highcharts

我有以下选择:

this.options = {
      title: { text: 'simple chart' },
      series: [{
        data: [29.9, 71.5, 106.4, 129.2],
        pointInterval: 24 * 3600 * 1000,
        pointStart: Date.UTC(2015, 1, 12) // feb 12, 2015
      }],
      xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
          minute: '%H:%M',
          hour: '%H:%M',
          day: '%e. %b',
          week: '%e. %b',
          month: '%b \'%y',
          year: '%Y'
        }
      }
    };

当我选择日期时间并点击按钮时:

buttonClicked() {
    let pointStart=new Date(this.dateStart);
    let year=pointStart.getFullYear();
    let month=pointStart.getMonth()+1;
    let day=pointStart.getDate();
    let hours=pointStart.getHours();
    let minutes=pointStart.getMinutes();

    this.chart.series[0].update({
      data: [30, 41, 47, 52],
      pointStart: Date.UTC(year, month, day, hours, minutes, 0),
      pointInterval: 24 * 3600 * 1000
    }, true);
    // this.chart.redraw()
  }

重绘()后,xAxis上的第一个点丢失,图表如下所示: enter image description here

任何解决方案?

1 个答案:

答案 0 :(得分:1)

问题是数据点编号为' 30'实际上是在13. Sep标签之后,因此标签被删除,因为它上面或之前没有任何点。要控制显示哪些标签,您需要使用xAxis.startOnTick或xAxis.minPadding(或两者的组合。另一种选择是使用Axis方法setExtremes()。

xAxis.startOnTickxAxis.minPaddingAxis.setExtremes()上的文档。