柱状图

描述:当前是关于Echarts图表中的 柱状图 示例。
 
            const color = ['#5470c6', '#91cc75', '#fac858', '#ee6666'];
let _data = new Array(4).fill(null).map((v, i) => {
    return { name: '节目' + i, value: Math.round(Math.random() * 10000), ratio: (Math.random() * 100).toFixed(2) };
});

const series = [];
_data.forEach((item, i) => {
    series.push(
        {
            name: item.name,
            type: 'bar',
            data: [item.value, null],
            itemStyle: {
                color: color[i],
            },
        },
        {
            name: item.name + '-环比',
            type: 'bar',
            yAxisIndex: 1,
            xAxisIndex: 1,
            data: [null, item.ratio],
            itemStyle: {
                color: color[i],
            },
        }
    );
});

option = {
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'shadow',
        },
        formatter: (params) => {
            const trs = params
                .filter((item) => item.dataIndex === item.axisIndex)
                .map((item) => {
                    let val = item.value;
                    if (item.dataIndex === 0) val = val ? val.toLocaleString('en-US') : val;
                    if (item.dataIndex === 1) val += '%';
                    return `<tr><td>${item.marker} ${item.seriesName}</td><td style="padding-left: 20px;text-align: right">${val}</td></tr>`;
                });
            return `<table><tbody>${trs.join('')}</tbody></table>`;
        },
    },
    grid: [
        {
            left: 50,
            right: 50,
            bottom: '3%',
            containLabel: false,
        },
        {
            left: 50,
            right: 50,
            bottom: '3%',
            containLabel: false,
        },
    ],
    yAxis: [
        {
            data: ['累计', ''],
            gridIndex: 0,
            inverse: true,
        },
        {
            data: ['', '环比'],
            gridIndex: 1,
            inverse: true,
        },
    ],
    xAxis: [
        { type: 'value', gridIndex: 0, splitNumber: 5, position: 'top', name: '累计' },
        { type: 'value', gridIndex: 1, splitNumber: 5, position: 'bottom', name: '环比' },
    ],
    series,
};