环状饼图

描述:当前是关于Echarts图表中的 饼图 示例。
 
            const pieData = [
   {
      name: "楼宇负荷",
      value: Math.floor(Math.random() * 100 + 100),
   },
   {
      name: "微网",
      value: Math.floor(Math.random() * 100 + 100),
   },
   {
      name: "储能",
      value: Math.floor(Math.random() * 100 + 100),
   },
   {
      name: "灵活调节电源",
      value: Math.floor(Math.random() * 100 + 100),
   },
   {
      name: "综合能源",
      value: Math.floor(Math.random() * 100 + 100),
   },
];
const total = pieData.reduce((a, b) => {
   return a + b.value;
}, 0);
let seriesData = [];
pieData.forEach(r => {
   seriesData.push(r);
   seriesData.push({
      name: "",
      value: 15,
      tooltip: { show: false },
      itemStyle: {
         label: {
            show: false,
         },
         labelLine: {
            show: false,
         },
         color: "rgba(0, 0, 0, 0)",
         borderColor: "rgba(0, 0, 0, 0)",
         borderWidth: 0,
      },
   });
});
option = {
   color: ["#96B5FC", "#5F8CEF", "#F18A70", "#F4C594", "#E0E7FA"],
   backgroundColor: "#011d39",
   title: {
      text: `{a|${total}}{b| MW}`,
      textStyle: {
         rich: {
            a: {
               color: "#FFFFFF",
               fontSize: "32",
            },
            b: {
               fontSize: "16",
               color: "#FFFFFF",
            },
         },
      },
      x: "36%",
      y: "48%",
   },
   tooltip: {
      trigger: "item",
   },
   legend: {
      icon: "circle",
      orient: "horizontal",
      right: "10%",
      top: "30%",
      width: "0",
      textStyle: {
         color: "#E6F7FF",
      },
      data: pieData.map(r => r.name),
   },
   series: [
      {
         name: "交易品种收益",
         type: "pie",
         radius: ["50%", "55%"],
         center: ["40%", "50%"],
         avoidLabelOverlap: false,
         label: {
            position: "outside",
            color: "#E6F7FF",
            lineHeight: 18,
            formatter: params => {
               const { data } = params;
               return data.name ? `${data.name}\n${data.value}MW` : "";
            },
         },
         itemStyle: {
            borderColor: "transparent",
         },
         emphasis: {
            scaleSize: 10,
         },
         data: seriesData,
      },
      {
         name: "阴影圈",
         type: "pie",
         radius: ["0", "40%"],
         center: ["40%", "50%"],
         emphasis: {
            scale: false,
         },
         tooltip: {
            show: false,
         },
         itemStyle: {
            color: "rgba(204,225,255, 0.05)",
         },
         zlevel: 4,
         labelLine: {
            show: false,
         },
         data: [100],
      },
      {
         name: "阴影圈",
         type: "pie",
         radius: ["0", "30%"],
         center: ["40%", "50%"],
         emphasis: {
            scale: false,
         },
         tooltip: {
            show: false,
         },
         itemStyle: {
            color: "rgba(204,225,255, 0.07)",
         },
         zlevel: 4,
         labelLine: {
            show: false,
         },
         data: [100],
      },
   ],
};