Echar渲染的图表与数据不匹配

项目场景:

根据不同的参数调用接口获取数据 echart图表重新渲染 正常图:

错乱图:


 

 

问题描述

当获取接口数据使 series的data数据都为空  图表渲染错误

 



原因分析:

series的data数据都为空,图表会受到上一次影响  即使给 myChart.setOption(option, true);

setOption第二个参数设置也无效


解决方案:

粗暴的方法:判断series的data数据都为空时,先进去初始化echart。 此方法消耗性能

Echart 调用dispose去注销instance抛出异常

解决代码:

var myChart = echarts.init(document.getElementById("boundEcharts0"));

            if (myChart) {

                myChart.dispose(); 

                myChart = null

            }

var myChart = echarts.init(document.getElementById("boundEcharts0"));
    if (myChart) {
        myChart.dispose();
        myChart = null
    }
var myChart = echarts.init(document.getElementById("boundEcharts0"));
var option = {
                tooltip: {
                    trigger: 'axis'
                },
                legend: {
                    data:lData,
                    selected:lSelected
                },
                dataZoom: dataZoom,
                grid: {
                    left: 130,
                    right: 130,
                    bottom: 70,
                    containLabel: true
                },

                xAxis: {
                    type: 'category',
                    boundaryGap: false,
                    data: that.boundXData
                },
                yAxis: {
                    name:unit,
                    type: 'value',
                    max:ymax,
                },
                series: sData
            };
myChart.setOption(option, true);

结尾

大家要是有更好方法,欢迎讨论留言,如有错误,欢迎指出。


版权声明:本文为weixin_51237264原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。