用echarts画图的时候,不同的数据渲染同一块画布,可能出现数据合并问题。类似第一次后台给3条数据,图上渲染是3条折线。第二次后台给1条数据,这个时候,图上还是有3条。仔细一看,就会发现,剩下的2条是之前数据,没有变化,这就是数据合并了。处理起来很简单。echarts文档有给出答案。查API:setOption.

所以我是这样处理的(vue):

this.chart.setOption({
  tooltip: {
    trigger: 'axis'
  },
  legend: {
    data: [data.name], // 其他1条线
    textStyle: {
      color: '#fff'
    }
  },
  xAxis: {
    type: 'category',
    boundaryGap: false,
    data: data.date, // 日期
    axisLabel: {
      show: true,
      textStyle: {
        color: '#fff'
      }
    }
  },
  yAxis: {
    type: 'value',
    axisLabel: {
      show: true,
      textStyle: {
        color: '#fff'
      }
    }
  },
  series: [
    {
      name: data.name,
      type: 'line',
      stack: '总量',
      smooth: true,
      data: data.data1
    }
  ]
}, true) //加一个true即可。这里是缩写了另外一个属性 notMerge:true ;true禁止数据合并,默认为false

 

Logo

前往低代码交流专区

更多推荐