上下渐变环形图echarts 饼配置项内容和展示

配置项如下
      var data = [
    {
        name: '正常占比',
        value: 12,
        percent: '58',
    },
    {
        name: '故障占比',
        value: 5,
        percent: '58',
    },
];

var titleArr = [],
    seriesArr = [];
colors = [
    'rgba(6, 254, 188, 1)',
    'rgba(255, 164, 3, 1)',
    'rgba(6, 254, 188, 0.1)',
    'rgba(255, 164, 3, 0.1)',
    'rgba(255, 255, 255, 0.38)',
    'rgba(255, 255, 255, 1)',
];
data.forEach(function (item, index) {
    let i = index;
    if (i % 2 === 1) {
        i = i + 1;
    }
    titleArr.push({
        text: '{b|正常个数}' + '   ' + '{a|' + item.value + '}' + '   ' + '{a|' + item.percent + '%}',
        left: '50%',
        top: (i + 1) * 25 + '%',
        textAlign: 'center',
        textStyle: {
            fontWeight: 'normal',
            fontSize: '16',
            color: colors[4],
            textAlign: 'center',
            rich: {
                a: {
                    color: colors[5],
                    fontSize: '14',
                    fontWeight: 'bold',
                },
                b: {
                    colors: colors[4],
                    fontSize: '14',
                    fontWeight: 'bold',
                },
            },
        },
    });
    seriesArr.push({
        name: item.name,
        type: 'pie',
        clockWise: false,
        radius: ['25%', '30%'],
        itemStyle: {
            normal: {
                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                    { offset: 0, color: colors[index + 2] },
                    { offset: 1, color: colors[index] },
                ]),
                shadowColor: colors[index],
                shadowBlur: 0,
                label: {
                    show: false,
                },
                labelLine: {
                    show: false,
                },
            },
        },
        hoverAnimation: false,
        center: ['25%', (i + 1) * 25 + '%'],
        data: [
            {
                value: item.percent,
                label: {
                    normal: {
                        formatter: function (params) {
                            return params.seriesName;
                        },
                        position: 'center',
                        show: true,
                        textStyle: {
                            fontSize: '20',
                            color: colors[4],
                        },
                    },
                },
            },
            {
                value: 100 - item.percent,
                name: 'invisible',
                itemStyle: {
                    normal: {
                        color: 'rgba(104, 104, 104, 0.3)',
                    },
                    emphasis: {
                        color: 'rgba(104, 104, 104, 0.3)',
                    },
                },
            },
        ],
    });
});

option = {
    backgroundColor: '#111111',
    title: titleArr,
    series: seriesArr,
};

    
截图如下