饼状扇形图

描述:当前是关于Echarts图表中的 饼图 示例。
 
            function get_gradual_by_horizontal (c1,c2) {
     return new echarts.graphic.LinearGradient(0, 0, 1, 0, [
         {
             offset: 0,
             color: c1
         }, {
             offset: 1,
             color: c2
         }
     ])
 }
data = [{
     name: '报警',
     value: '9',
     percent: '3%'
 }, {
     name: '预警',
     value: '4',
     percent: '2%'
 }, {
     name: '故障',
     value: '3',
     percent: '2%'
 }, {
     name: '维修',
     value: '3',
     percent: '2%'
 }, {
     name: '撤防',
     value: '16',
     percent: '6%'
 }, {
     name: '屏蔽',
     value: '8',
     percent: '3%'
 }, {
     name: '正常',
     value: '107',
     percent: '94%'
 }]
 let colors = [{
     c1: 'rgba(202, 185, 28, 0.4)',
     c2: 'rgba(254, 240, 44, 1)'
 }, {
     c1: 'rgba(19, 130, 209, 0.02)',
     c2: 'rgba(68, 177, 255, 1)'
 }, {
     c1: 'rgba(111, 124, 132, 0.4)',
     c2: 'rgba(182, 202, 216, 1)'
 }, {
     c1: 'rgba(185, 45, 0, 0.02)',
     c2: 'rgba(255, 156, 76, 1)'
 }, {
     c1: 'rgba(221, 129, 1, 0.4)',
     c2: 'rgba(253, 197, 56, 1)'
 }, {
     c1: 'rgba(162, 120, 60, 0.2)',
     c2: 'rgba(244, 191, 103, 1)'
 }, {
     c1: 'rgba(69, 79, 128, 0.4)',
     c2: 'rgba(97, 145, 224, 1)'
 }]
	option = {
      angleAxis: {
          type: 'category',
          // data: ['100%', '80~100%', '60~80%', '60%以下', '未学习']
      },
      radiusAxis: {
          min: 0,
          max: 10,
          interval: 2
      },
      polar: {},
      tooltip: {
          confine: true,
          trigger: 'item',
          formatter: '{a} <br/>{b} : {c} ({d}%)'
      },
      legend: {
          show: true,
          x:'left',
          y: 'top',
          textStyle: {
              color: 'rgba(165, 184, 185, 1)'
          },
          formatter: (item) => {
              let cureent = data.find(cur => cur.name === item)
              return `${cureent.name}  ${cureent.value}   ${cureent.percent}`
          }
      },
      toolbox: {
          show: true,
          feature: {
              mark: {
                  show: true
              },
              magicType: {
                  show: true,
                  type: ['pie', 'funnel']
              },
          }
      },
      calculable: true,
      series: [
          {
              type: 'pie',
              radius: '55%',
              center: ['50%', '50%'],
              roseType: 'area',
              label: {
                  show: false
              },
              itemStyle: {
                  normal: {
                      shadowBlur: 60,
                      color: (params) => {
                          let {c1, c2} = colors[params.dataIndex]
                          return get_gradual_by_horizontal(c1, c2);
                      },
                  },
              },
              data: data
          }
      ]
  }