排行条形图-标签文字左对齐

描述:当前是关于Echarts图表中的 柱状图 示例。
 
            var fontSize = (val) => {
    return val * 100
}
var colorRgba = (sHex) => {
    // 十六进制颜色值的正则表达式
    let reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/;
    /* 16进制颜色转为RGB格式 */
    let sColor = sHex.toLowerCase();
    let alpha = 1;
    if (sColor && reg.test(sColor)) {
        if (sColor.length === 4 || sColor.length === 5) {
            let sColorNew = "#";
            for (let i = 1; i < sColor.length; i += 1) {
                sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));
            }
            sColor = sColorNew;
        }
        // 如果有透明度再执行
        if (sColor.length === 9) {
            alpha = (parseInt("0x" + sColor.slice(7, 9)) / 255).toFixed(2);
        }
        //  处理六位的颜色值
        let sColorChange = [];
        for (let i = 1; i < 7; i += 2) {
            sColorChange.push(parseInt("0x" + sColor.slice(i, i + 2)));
        }
        // console.log("rgba(" + sColorChange.join(",") + "," + alpha + ")");
        return "rgba(" + sColorChange.join(",") + "," + alpha + ")";
    } else {
        return sColor;
    }
}
let json = [{
    name: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    symbol: '正',
    value: 40
}, {
    name: "aabbbbbbbbbbbbb",
    symbol: '负',
    value: 30
}, {
    name: "cccccccccccccccccccccccccccc",
    symbol: '负',
    value: 20
}, {
    name: "ddddddd",
    symbol: '正',
    value: 10
}]

let color = ['#00feffb3', '#f08080b3']
let label = json.map((item) => item.name)
console.log(label)
let data = []
let data1 = []
for (let i = 0; i < json.length; i++) {
    let item = json[i]
    data.push({
        name: item.name,
        value: item.value,
        label: {
            backgroundColor: item.symbol == '正' ? colorRgba(color[0]) : colorRgba(color[1])
        },
        itemStyle: {
            normal: {
                color: item.symbol == '正' ? colorRgba(color[0]) : colorRgba(color[1])
            }
        }
    })
    data1.push({
        name: item.name,
        value: item.value + 1,
        itemStyle: {
            normal: {
                borderColor: item.symbol == '正' ? colorRgba(color[0]) : colorRgba(color[1])
            }
        }
    })
}
option = {
    backgroundColor: '#012248',
    grid: {
        containLabel: true,
        left: -fontSize(1)
    },
    xAxis: {
        show: false,
        type: 'value',
        min: 0,
        max: 50,
    },
    yAxis: [{
        show: true,
        type: 'category',
        data: label,
        inverse: true,
        axisLine: {
            show: false
        },
        splitLine: {
            show: false
        },
        axisTick: {
            show: false
        },
        axisLabel: {
            // formatter: '{a|{value}}',
            // rich: {
            //   a: {
            //   },
            // },
            align: 'left',
            margin: fontSize(2.5),
            color: '#fff',
            fontSize: fontSize(0.13),
        },
    }, {
        show: true,
        type: 'category',
        inverse: true,
        axisLine: {
            show: false
        },
        splitLine: {
            show: false
        },
        axisTick: {
            show: false
        },
        axisLabel: {
            show: false
        },
    }],
    series: [{
        name: '排行',
        type: 'bar',
        yAxisIndex: 0,
        data: data,
        barWidth: fontSize(0.06),
        itemStyle: {
            normal: {
                barBorderRadius: fontSize(0.06),
                /*  color: {
                   type: 'linear',
                   colorStops: [
                     {
                       offset: 0,
                       color: 'rgba(0,77,167,1)'
                     },
                     {
                       offset: 1,
                       color: 'rgba(0,244,255,1)'
                     }]
                 }, */
                shadowColor: colorRgba(color[1]),
                shadowBlur: 5,
            }
        },
        label: {
            normal: {
                show: true,
                position: 'right',
                lineHeight: fontSize(0.4),
                width: fontSize(0.4),
                height: fontSize(0.4),
                backgroundColor: 'rgba(255,255,255,0.1)',
                borderRadius: fontSize(0.4),
                formatter: '{a|{c}}',
                distance: fontSize(0.2),
                rich: {
                    a: {
                        align: 'center',
                        color: '#fff',
                        fontSize: fontSize(0.12),
                        fontWeight: 'bolder',
                    }
                }
            }
        },
    }, {
        name: '外边框',
        type: 'bar',
        data: data1,
        yAxisIndex: 1,
        barWidth: fontSize(0.10),
        itemStyle: {
            normal: {
                barBorderRadius: fontSize(0.10),
                borderRadius: fontSize(0.10),
                borderWidth: 0.5,
                color: 'transparent'
            }
        },
        label: {
            normal: {
                show: false,
            }
        },
    }]
}