一半饼图

描述:当前是关于Echarts图表中的 饼图 示例。
 
            data = [
  { value: 30, name: '01' },
  { value: 15, name: '02' },
  { value: 15, name: '03' },
  { value: 10, name: '04' },
  { value: 30, name: '05' },
];
dataList = [...data, ...data];

let dataPush = [];
let list = {};
dataList.forEach((item, index) => {
  if (index < data.length) {
    list = {
      value: item.value,
      name: item.name,
      label: {
        show: false,
      },
      labelLine: {
        show: false,
      },
    };
  } else {
    list = {
      value: item.value,
      name: item.name,
    };
  }
  dataPush.push(list);
});

option = {
  backgroundColor: '#0c2033',
  color: [
    'RGBA(1,128,254,0.9)',
    'RGBA(255,208,15,0.9)',
    'RGBA(27,233,254,0.9)',
    'RGBA(105,255,98,0.9)',
    'RGBA(255,142,131,0.9)',
    'RGBA(155,38,254,0.9)',
  ],
  series: [
    {
      name: '01',
      type: 'pie',
      radius: ['84%', '85%'],
      center: ['50%', '100%'],
      avoidLabelOverlap: false,
      hoverAnimation: false,
      startAngle: 0,
      itemStyle: {
        borderWidth: 2,
      },
      label: {
        show: false,
      },
      labelLine: {
        show: false,
      },
      data: dataPush,
    },
    {
      name: '02',
      type: 'pie',
      radius: ['60%', '80%'],
      center: ['50%', '100%'],
      avoidLabelOverlap: false,
      hoverAnimation: false,
      startAngle: 0,
      label: {
        show: true,
        position: 'outside',
        formatter: (params) => {
          let val = params.percent * 2;
          return `{aa|${val}%}\n\n\n`;
        },
        color: 'auto',
        padding: [0, -40],
        rich: {
          aa: {
            height: 90,
            align: 'left',
            fontSize: 30,
            verticalAlign: 'middle',
            fontFamily: 'Agency FB',
          },
        },
      },
      labelLine: {
        show: true,
        length: 40,
        length2: 120,
        lineStyle: {
          width: 2,
        },
      },
      itemStyle: {
        shadowBlur: 20,
        shadowColor: '#25fffd',
      },
      data: dataPush,
    },
    {
      type: 'pie',
      radius: '50%',
      center: ['50%', '100%'],
      label: {
        position: 'center',
        color: '#fff',
        padding: [-80, -100],
        fontSize: 30,
        formatter: (params) => {
          return `${params.name}\n\n\n`;
        },
      },
      itemStyle: {
        color: 'RGBA(11,38,80,0.5)',
        emphasis: {
          color: 'RGBA(11,38,80,0.5)',
        },
      },
      data: [{ value: 100, name: '占比' }],
    },
  ],
};