lucky-heng

使用echarts绘制图表时,初次赋值数据正常展示,重新获取数据之后,图表没有跟着动态刷新。解决的办法是:

html文件

<div echarts [options]="chartOption"  (chartInit)="onChartInit($event)"></div>

 

conponent文件

...

const option = {
  title: {
      text: \'图例\'
  },
  tooltip: {
      trigger: \'axis\'
  },
  toolbox: {
      feature: {
          saveAsImage: {}
      }
  },
  grid: {
      left: \'4%\',
      right: \'3%\',
      bottom: \'11%\',
      containLabel: true
  },
  xAxis: [
      {
          type : \'category\',
          boundaryGap : false,
          data : []
      }
  ],
  dataZoom: [
    {
      type: \'slider\',
      height: \'10%\',
      show: true,
      xAxisIndex: [0],
      realtime: true,
      start: 0,
      end: 100
    },
    {
      type: \'inside\',
      realtime: true
    }
  ],
  yAxis: [
      {
          type : \'value\'
      }
  ],
  series: []
};

export class yourComponent implements OnInit {

chartOption: any;
echartsIntance: any;

onChartInit(ec: any) {
    this.echartsIntance = ec;
}
...
// 获取数据之后更新图表
getdata(): void {
    ...
    timeSeries, dataSeries = get()              // 简写,从后端获取数据    
    const item = [];
    item.push({
        type: \'line\',
        smooth: 0.3,
        symbol: \'circle\',
        symbolSize: 2,
        data: dataSeries
    });
    ...
    this.chartOption = option;
    this.chartOption.xAxis[0].data = timeSeries;
    this.chartOption.series = item;
    if (this.echartsIntance) {
      this.echartsIntance.clear();
      this.echartsIntance.setOption(this.chartOption, true);
    }
}
...
}

 

分类:

技术点:

相关文章: