堆叠图

描述:当前是关于Echarts图表中的 柱状图 示例。
 
            let dataLevel = {
    data:[{
        name: '极高风险区',
        data: [3.58, 1.12, 1.30, 3.24, 0.05, 0.23, 1.95, 2.28, 0.08, 3.68, 3.26, 2.56, 2.47, 5.3]
    },
    {
        name: '较高风险区',
        data: [15.2, 2.96, 0.21, 14.91, 0.22, 0.68, 3.82, 7.85, 0.05, 1.52, 1.42,1.81,1.34,2.45]
    },
    {
        name: '中风险区',
        data: [37.5, 3.21, 0.6, 33.89, 0.55, 1.96, 6.22, 13.21, 0.01, 27.29, 32.28,79.41,48.54,93.74]
    },
    {
        name: '低风险区',
        data: [47.42, 40.62, 103.35, 760.27,140.05,142.35, 172.97, 232.42, 66.69, 502, 769.66,758.77,652.12,1438.75]
    }
],
dataY:['苍南县', '洞头区', '经开区', '乐清市', '龙港市', '龙湾区','鹿城区', '瓯海区', '瓯江口',
'平阳县', '瑞安市', '泰顺县', '文成县', '永嘉县']
}

const dataArray = []
const datald = [] 
dataLevel.data.map(item => {
    datald.push(item.name)
    const dataObj = {
        name: item.name,
        type: 'bar',
        barWidth: '12',
        stack: '总量',
        itemStyle: {
            color: item.name === '极高风险区' ? '#FF0000' : 
            item.name === '较高风险区' ? '#FFA500' :
            item.name === '中风险区'?'#FFFF00':'#5EA6FE'
        },
        label: {
            normal: {
                show: false,
                position: 'insideRight'
            }
        },
        data: item.data
    }
    dataArray.push(dataObj)
})
    dataArray.push({
        name: '总计',
        type: 'bar',
        barWidth: '12',
        barGap: '-90%',
        data: [103.7, 47.91, 105.46, 812.31, 140.87, 145.22, 184.96, 255.76, 66.83, 534.49, 806.62, 842.55, 704.47, 1540.24],
        label: {
            normal: {
                color: '#fff',
                show: true,
                position: 'right'
            }
        },
        itemStyle: {
            color: 'rgba(0,0,0,0)'
        }
    })
option = {
    backgroundColor: 'black',
    tooltip: {
        trigger: 'axis',
        axisPointer: { // 坐标轴指示器,坐标轴触发有效
            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
        },
        formatter:function(val){
            let name = ''
            let seriesName =''
            val.map(item=>{
                name = item.name
                seriesName += item.seriesName+':'+item.value+'处</br>'
            })
            return name+'</br>'+seriesName
        }
    },
    legend: {
        data: datald,
        textStyle: {
            color: 'white',
            fontSize: 14
        }
    },
    grid: {
        top: '2%',
        left: '3%',
        right: '5%',
        bottom: '2%',
        containLabel: true
    },
    xAxis: {
        type: 'value',
        axisLine: {
            show: false,
            lineStyle: {
                color: 'white'
            }
        },
        splitLine: {
            show: false
        },
        axisTick: {
            show: true
        }
    },
    yAxis: {
        type: 'category',
        data: dataLevel.dataY,
        axisLine: {
            show: false,
            lineStyle: {
                color: 'white'
            }
        },
        splitLine: {
            show: false
        },
        axisTick: {
            show: false
        }
    },
    series: dataArray
}