echarts饼图渲染后台返回数据(处理Series+legend)

定义饼图数据和颜色数据
      // sensorOpts
      sensorOpts: {
        tooltip: {
          trigger: 'item',
          formatter: '{b}: {c} ({d}%)',
        },
        legend: {
          icon: 'circle',
          orient: 'horizontal',
          left: 10,
          bottom: 0,
          data: [],
          textStyle: {
            color: '#909ABF',
            fontSize: 12
          }
        },
        series: [
          {
            type: 'pie',
            radius: ['30%', '50%'],
            avoidLabelOverlap: true,
            center: ['50%', '50%'],
            hoverAnimation: false,
            label: {
              // formatter: '{b}: {c} ({d}%)',
              formatter: function (data) {
                const { name, value, percent } = data
                let str = ''
                str = name + value + '\n' + '(' + percent + '%)'
                return str
              },
              position: 'outer',
              alignTo: 'none',
              bleedMargin: 5,
            },
            data: [
            ],
            emphasis: {
              show: false
            }
          }
        ]
      },
      color: {
        'suoli': '#7CFFFA',
        'gangyingbian': '#599DFF',
        'wendu': '#FF546E',
        'xianxing': '#FFE922',
        'shensuo': '#24DA67',
      },
处理数据
getData(params).then(response => {
        const { data } = response
        const warnNameArr = Object.keys(self.color) 

        let seriesDataObj = {} //每条数据
        data.map((item) => {
          item.monitorName = item.monitorName.split('监测')[0]
          if (warnNameArr.includes(item.monitorName)) {
            seriesDataObj = {
              value: item.pointsNum,
              name: item.monitorName,
              itemStyle: { color: self.color[item.monitorName] },
            }
            self.sensorOpts.series[0].data.push(seriesDataObj)
            self.sensorOpts.legend.data.push(item.monitorName)
          }
        })
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值