多个饼图

描述:当前是关于Echarts图表中的 示例。
 
            
let chart = [
  {
    name: '城区大队',
    value: 40.6 // 百分比
  },
  {
    name: '江东大队',
    value: 30 // 百分比
  },
  {
    name: '滨海大队',
    value: 40 // 百分比
  },
  {
    name: '江北大队',
    value: 60 // 百分比
  },
  {
    name: '滨海大队',
    value: 80 // 百分比
  },
  {
    name: '江北大队',
    value: 10.9 // 百分比
  }
]
let startAngle = [90, 270, 90, 270] // 起始角度
let centerX = [12.5, 37.5, 62.5, 87.5] // 每个圆心的x位置
let centerY = [50, 40, 50, 40] // 每个圆心的Y位置

let seriesAll = []
chart.forEach((item, i) => {
  if (i < 4) {
    let pie = {
      name: '',
      type: 'pie',
      z: 10,
      radius: ['20%', '22%'],
      center: [`${centerX[i]}%`, `${centerY[i]}%`],
      startAngle: startAngle[i],
      avoidLabelOverlap: false,
      data: [{
        value: chart[i].value,
        name: chart[i].name,
        tooltip: {
          trigger: 'item',
          formatter: '{b} : {c} ({d}%)'
        },
        label: {
          show: false
        },
        labelLine: {
          show: false
        },
        emphasis: {
          label: {
            show: false
          },
          labelLine: {
            show: false
          }
        }
      },
      {
        value: 100 - chart[i].value,
        name: '',
        itemStyle: {
          color: 'transparent'
        },
        tooltip: {
          show: false
        },
        label: {
          show: false
        },
        labelLine: {
          show: false
        },
        emphasis: {
          label: {
            show: false
          },
          labelLine: {
            show: false
          }
        }
      },
      {
      // 指示线
        name: chart[i].name,
        value: 0,
        tooltip: {
          show: false
        },
        itemStyle: {
          color: 'transparent'
        },
        labelLine: {
          show: true,
          length: 30,
          length2: 3,
          color: '#B1BCD2',
          lineStyle: {
            color: '#B1BCD2'
          }
        },
        label: {
          color: '#B1BCD2',
          fontSize: 12,
          position: 'outside'
        }
      }
      ]

    }
    let gauge = {
      name: '',
      z: -1,
      type: 'gauge',
      radius: '22%',
      center: [`${centerX[i]}%`, `${centerY[i]}%`],
      startAngle: 0,
      endAngle: 359.9,
      splitNumber: 30,
      title: {
        show: false
      },
      // 中间的百分比
      detail: {
        formatter: '{value}%',
        offsetCenter: [0, 0],
        color: '#fff',
        fontSize: 16,
        fontStyle: 'italic',
        fontFamily: 'DINPro-Light'
      },
      pointer: {
        show: false
      },
      axisTick: {
        show: false
      },
      axisLine: {
        show: false
      },
      splitLine: {
        show: true,
        length: 1,
        lineStyle: {
          width: 6,
          color: '#fff'
        }
      },
      axisLabel: {
        show: false
      },
      data: [{
        value: chart[i].value,
        name: chart[i].name
      }]
    }

    seriesAll.push(pie)
    seriesAll.push(gauge)
  }
})

option = {
    backgroundColor: '#000',
  color: '#fff',
  tooltip: {
    trigger: 'item',
    formatter: '{b} : {c} ({d}%)'
  },
  title: {
    left: '10%',
    bottom: '8%',
    text: [`{a|${chart[4].name}}{b|${chart[4].value}}{c|%}`, `{d|${chart[5].name}}{b|${chart[5].value}}{c|%}`].join(''),
    textStyle: {
      rich: {
        a: {
          color: '#fff',
          fontSize: 12,
          padding: [0, 10, 0, 0]
        },
        b: {
          color: '#fff',
          fontSize: 16,
          fontStyle: 'italic',
          fontFamily: 'DINPro-Light',
          padding: [0, 3, 0, 0]
        },
        c: {
          color: '#fff',
          fontSize: 12
        },
        d: {
          color: '#fff',
          fontSize: 12,
          padding: [0, 10, 0, 100]
        }
      }
    }
  },
  // calculable: true,
  series: seriesAll
  // [
  //   {
  //     name: '',
  //     type: 'pie',
  //     radius: ['35%', '37%'],
  //     center: ['12.5%', '50%'],
  //     startAngle: startAngle[0],
  //     data: [{
  //       value: chart[0].value,
  //       name: chart[0].name,
  //       label: {
  //         color: '#B1BCD2',
  //         fontSize: 12,
  //         position: 'indide'
  //       }
  //     },
  //     {
  //       value: 100 - chart[0].value,
  //       name: '',
  //       itemStyle: {
  //         color: 'transparent'
  //       }
  //     },
    // {
    //   // 指示线
    //     name: chart[0].name,
    //     value: 0,
    //     tooltip: {
    //       show: false
    //     },
    //     itemStyle: {
    //       color: 'transparent'
    //     },
    //     labelLine: {
    //       show: true,
    //       length: 30,
    //       length2: 3,
    //       color: '#B1BCD2',
    //       lineStyle: {
    //         color: '#B1BCD2'
    //       }
    //     },
    //     label: {
    //       color: '#B1BCD2',
    //       fontSize: 12,
    //       position: 'outside'
    //     }
    //   }
  //     ]
  //   },
  //   {
  //     name: '',
  //     z: -1,
  //     type: 'gauge',
  //     radius: '37%',
  //     center: ['12.5%', '50%'],
  //     startAngle: 0,
  //     endAngle: 359.9,
  //     splitNumber: 30,
  //     title: {
  //       show: false
  //     },
  //     // 中间的百分比
  //     detail: {
  //       formatter: '{value}%',
  //       offsetCenter: [0, 0],
  //       color: '#fff',
  //       fontSize: 16,
  //       fontStyle: 'italic',
  //       fontFamily: 'DINPro-Light'
  //     },
  //     pointer: {
  //       show: false
  //     },
  //     axisTick: {
  //       show: false
  //     },
  //     axisLine: {
  //       show: false
  //     },
  //     splitLine: {
  //       show: true,
  //       length: 1,
  //       lineStyle: {
  //         width: 6,
  //         color: '#fff'
  //       }
  //     },
  //     axisLabel: {
  //       show: false
  //     },
  //     data: [{
  //       value: chart[0].value,
  //       name: chart[0].name
  //     }]
  //   }
  // ]
}