不同柱子不同渐变色echarts 柱状配置项内容和展示

配置项如下
      var colorArr = [
    {
        top: '#FF9A22',//黄色
        bottom: '#FFD56E'
    },
    {
        top: '#2750FF',//蓝色
        bottom: '#6AB4FF'
    }
];
option = {
    backgroundColor: '#fff',
    grid: {
        top: '15%',
        right: '10%',
        left: '10%',
        bottom: '12%'
    },
    xAxis: [{
        type: 'category',
        color: '#59588D',
        data: ['2016', '2017', '2018', '2019', '2020'],
        axisLabel: {
            margin: 20,
            color: '#999',
            textStyle: {
                fontSize: 18
            },
        },
        axisLine: {
            lineStyle: {
                color: 'rgba(107,107,107,0.37)',
            }
        },
        axisTick: {
            show: false
        },
    }],
    yAxis: [{
        min: 0,
        max: 100,
        axisLabel: {
            formatter: '{value}%',
            color: '#999',
            textStyle: {
                fontSize: 18
            },
        },
        axisLine: {
            lineStyle: {
                color: 'rgba(107,107,107,0.37)',
            }
        },
        axisTick: {
            show: false
        },
        splitLine: {
            lineStyle: {
                color: 'rgba(131,101,101,0.2)',
                type: 'dashed',
            }
        }
    }],
    series: [{
        type: 'bar',
        data: [40, 90, 10, 20, 56],
        barWidth: '50px',
        itemStyle: {
            normal: {
                color: function(params) {
                    let num = colorArr.length;
                    return new echarts.graphic.LinearGradient(0, 0, 0, 1,[{
                        offset: 0,
                        color: colorArr[params.dataIndex % num].top // 0% 处的颜色
                    },{//可根据具体情况决定哪根柱子显示哪种颜色
                        offset: 1,
                        color: colorArr[params.dataIndex % num].bottom // 100% 处的颜色
                    }],false)
                },
                barBorderRadius: [30, 30, 0, 0],
            }
        },
        label: {
            normal: {
                show: true,
                fontSize: 18,
                fontWeight: 'bold',
                color: '#333',
                position: 'top',
            }
        }
    }]
};
    
截图如下