echarts设置之stack参数

今天遇到一个问题,就是我是一个tab切换的各种图表,但是获取得到的数据是正确的,我自己分装了一个函数,函数如下:

function setEcharts(box,obj){
    var optionZhe = {
        tooltip: {
            trigger: 'axis',
            backgroundColor:'#eee',
            textStyle:{
                fontSize:12,
                color:'#000'
            }
        },
        legend: {
            data: keyArrItem
        },
        xAxis: [
            {
                type: 'category',
                boundaryGap: false,
                data: xPush
            }
        ],
        yAxis : [
            {
                type : 'value'
            }
        ],
        series: obj
    };
        box.setOption(optionZhe,true);
}
 
对series获取值--
for(var i= 0 ;i<echartShow[key].length;i++){
    for(var keyIn in echartShow[key][i]){
        keyArrItem.push(keyIn);
        obj= {};
        obj={
            name:keyIn,
            type:'line',
            stack:'总数',
            data:echartShow[key][i][keyIn]
        }
        seriesObj.push(obj);
    }
}

box--画布的容器。 keyArrItem--我们的item。 xPush--是x轴的数据。 obj--也就是我们动态的series数组。

调用次函数是--

var afterChart = echarts.init(document.getElementById('after-height'));

afterChart.clear();

setEcharts(afterChart,seriesObj);

这是画出来的图,但是图的趋势却是错误的。数据是正常的。

其中需要注意的有2点--

1.clear();函数,就是清空画布的作用,

2,box.setOption(optionZhe,true);

3.注意stack---数据堆叠,同个类目轴上系列配置相同的stack值后,后一个系列的值会在前一个系列的值上相加。

所以最后的解决方法是,,stack去掉,,或者stack给不同的值。。

猜你喜欢

转载自blog.csdn.net/u013938578/article/details/81907889