出租房集中占比TOP5派出所

描述:当前是关于Echarts图表中的 柱状图 示例。
 
            let echartData = [
    {
        value: 8777,
        name: '陆家派出所'
    },
     {
        value: 6547,
        name: '花桥派出所'
    },
     {
        value: 2347,
        name: '张浦派出所'
    },
     {
        value: 2187,
        name: '锦溪派出所'
    },
     {
        value: 1357,
        name: '巴城派出所'
    }]
    let attackSourcesColor = [
        new echarts.graphic.LinearGradient(0, 1, 1, 1, [
        { offset: 0, color: "#ff9250" },
        { offset: 1, color: "#ff5252" }
        ]),
        new echarts.graphic.LinearGradient(0, 1, 1, 1, [
        { offset: 0, color: "#ffbf25" },
        { offset: 1, color: "#ff802a" }
        ]),
        new echarts.graphic.LinearGradient(0, 1, 1, 1, [
        { offset: 0, color: "#f4e973" },
        { offset: 1, color: "#ffb949" }
        ]),
        new echarts.graphic.LinearGradient(0, 1, 1, 1, [
        { offset: 0, color: "#649dfb" },
        { offset: 1, color: "#649dfb" }
        ])
    ]
    
    let max = parseInt(echartData[0].value)
    for (let i = 0; i < echartData.length - 1; i++) {
        max = max < parseInt(echartData[i+1].value) ? parseInt(echartData[i+1].value) : max
    }
    // if(max!==0){
    //     let maxArr = (new Array(echartData.length)).fill(max*1.5)
    //     option.series[1].data = maxArr
    // } else {
    //     option.series[1].data = [1,1,1,1,1]
    // }
option = {
            tooltip: {
                // show: false,
                trigger: 'axis',
                // axisPointer: {
                //     type: 'shadow'
                // },
                formatter(params){
                    for(var i = 0; i < params.length; i++){
                        return params[i].name +":"+params[i].data.value;
                    }
                }
            },
            legend: {
                show: false
            },
            grid: {
                top: '1%',
                bottom: 0,
                left: '0%',
                right: '0%',
                containLabel:true
            },
            xAxis: {
                show: false,
                type: 'value'
            },
            yAxis: [
                {
                type: 'category',
                inverse: true,
                axisLine: {
                    show: false
                },
                axisTick: {
                    show: false
                },
                data: echartData.map(item => item.name),
                axisLabel: {
                    // show: false,
                    margin: 0,
                    fontSize: 15,
                    align: 'left',
                    color: '#000000',
                    padding: [0,0,60,-30],
                    interval: 0,
                    rich: {
                        a1: {
                            color: '#fff',
                            backgroundColor: '#ff5454',
                            borderColor: '#fd2829',
                            borderWidth: 2,
                            width: 24,
                            height: 24,
                            align: 'center',
                            borderRadius: 24,
                            fontSize: 15,
                        },
                        a2: {
                            color: '#fff',
                            backgroundColor: '#ff7e00',
                            borderColor: '#f27200',
                            borderWidth: 2,
                            width: 24,
                            height: 24,
                            align: 'center',
                            borderRadius: 24,
                            fontSize: 15,
                        },
                        a3: {
                            color: '#fff',
                            backgroundColor: '#ffbd54',
                            borderColor: '#ff9f06',
                            borderWidth: 2,
                            width: 24,
                            height: 24,
                            align: 'center',
                            borderRadius: 24,
                            fontSize: 15,
                        },
                        b: {
                            color: '#fff',
                            backgroundColor: '#57aaff',
                            borderColor: '#3096ff',
                            borderWidth: 2,
                            width: 24,
                            height: 24,
                            align: 'center',
                            borderRadius: 24,
                            fontSize: 15,
                        }
                    },
                    formatter: function(params) {
                        var index = echartData.map(item => item.name).indexOf(params);
                        index = index + 1;
                        if (index - 1 < 3) {
                            return [
                                '{a' + index + '|' + index + '}' + '  ' + params
                            ].join('\n')
                        } else {
                            return [
                                '{b|' + index + '}' + '  ' + params
                            ].join('\n')
                        }
                    }
                }
            }, 
            {
                triggerEvent: true,
                show: true,
                inverse: true,
                data: echartData.map(item => item.value),
                axisLine: {
                    show: false
                },
                splitLine: {
                    show: false
                },
                axisTick: {
                    show: false
                },
                axisLabel: {
                    interval: 0,
                    // shadowOffsetX: '-60px',
                    color: 'rgba(29, 145, 245, 1)',
                    align: 'right',
                    verticalAlign: 'bottom',
                    lineHeight: 30,
                    fontSize: 15,
                    padding: [0,30,10,0],
                    formatter:'{value}'
                }
            }],
            series: [{
                    z: 2,
                    name: 'value',
                    type: 'bar',
                    barWidth: 15,
                    zlevel: 1,
                    data: echartData.map((item, i) => {
                        let itemStyle = {
                            color: i > 3 ? attackSourcesColor[3] : attackSourcesColor[i]
                        }
                        return {
                            value: item.value,
                            itemStyle: itemStyle
                        };
                    }),
                    label: {
                        show: false,
                        position: 'right',
                    }
                },
                {
                    name: '背景',
                    type: 'bar',
                    barWidth: 15,
                    barGap: '-100%',
                    itemStyle: {
                        normal: {
                            color: 'rgba(213,220,237,0.9)'
                        }
                    },
                    data: (new Array(echartData.length)).fill(max*2),
                }
            ]
        }