echarts 实现柱状图重叠而不是相互增加

1、引入echart 所需要的js和css,这不再引入

总量的数据是包含分量且大于等于分量

先上效果图:

 

 当我们查看总量时,显示的是将分量的也包含里面,这样就不是叠加的数量了

 

 2、直接上代码 (可复制代码直接运行,前提是引入了相关的css和js)

var myChart = echarts.init(document.getElementById("chart1"), 'shine');
    var option = {
        color:["#7179CB","#4CCEFE"],
        title: {
            text:"统计总量",
            textStyle:{
                fontSize:16,
                padding:"10px"
            }
        },
        legend: {
            data: ["总量", "分量"],
        },
        tooltip: {},
        xAxis: {
            data: ['a','b','c','d']

        },
        yAxis: {
            splitArea: {show: false}
        },

        series: [
            {
                barWidth: 20,
                data:  ["47", "59", "95", "74",],
                name: "总量",
                type: "bar",
            },
            {
                barGap: "-100%", /*这里设置包含关系,只需要这一句话*/
                barWidth: 20,
                data: ["27", "24", "43", "10", ],
                name: "分量",
                type: "bar"
            }
        ]
    };
    myChart.setOption(option, true);

 

注:

barGap: "-100%", /*这里设置包含关系,只需要这一句话*/

在做柱状图的时候我们通常会碰到这么一个情况,就是第一组数比较大, 第二组数比较小,图上显示的时候第一组的数完全遮住了第二组的数,这样看着不太友好!
如下图所示:

 那么 我们该如何改成优先显示较小的那一组数据那?  

其实答案很简单,将这两组数据的位置一换就ok

 

 

也就是说把小数放在较下的位置!其实也可以理解为回显的时候优先从第二组数据开始回显,和barGap放在哪个数组下方没有任何关系!

 



posted @ 2022-03-08 16:58  翘中之楚  阅读(3255)  评论(0编辑  收藏  举报