echarts的半环形图数据都为0时不能显示半环形

前端新手的个人笔记————————————————————————————————

                  { value: this.personnelAttendance[2].value, name: '正常' },
                  { value: this.personnelAttendance[0].value, name: '迟到' },
                  { value: this.personnelAttendance[1].value, name: '早退' },
                  { value: this.personnelAttendance[3].value, name: '缺卡' },
                  {
                    value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                    itemStyle: {
                      color: 'none',
                      decal: {
                        symbol: 'none'
                      }
                    },
                    label: {
                      show: false
                    }
                  },

当每项数据都为0,总和也是0时就不是半环形

解决:

有几项数据就复制几个总和和itemStyle

data: [
                  { value: this.personnelAttendance[2].value, name: '正常' },
                  { value: this.personnelAttendance[0].value, name: '迟到' },
                  { value: this.personnelAttendance[1].value, name: '早退' },
                  { value: this.personnelAttendance[3].value, name: '缺卡' },
                  {
                    value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                    itemStyle: {
                      color: 'none',
                      decal: {
                        symbol: 'none'
                      }
                    },
                    label: {
                      show: false
                    }
                  },
                  {
                    value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                    itemStyle: {
                      color: 'none',
                      decal: {
                        symbol: 'none'
                      }
                    },
                    label: {
                      show: false
                    }
                  },
                  {
                    value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                    itemStyle: {
                      color: 'none',
                      decal: {
                        symbol: 'none'
                      }
                    },
                    label: {
                      show: false
                    }
                  },{
                    value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                    itemStyle: {
                      color: 'none',
                      decal: {
                        symbol: 'none'
                      }
                    },
                    label: {
                      show: false
                    }
                  }
                ],

又有新问题----------------------------------------------------------------------------------------------------

切换到有数据的账号发现会变成这样

解决:在外边定义data,通过条件判断,如果数据之和为0就push四个,否则就push一个

let data = [
            { value: this.personnelAttendance[2].value, name: '正常' },
            { value: this.personnelAttendance[0].value, name: '迟到' },
            { value: this.personnelAttendance[1].value, name: '早退' },
            { value: this.personnelAttendance[3].value, name: '缺卡' },
          ];
          if (this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value == 0) {
            data.push(
              {
                value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                itemStyle: {
                  color: 'none',
                  decal: {
                    symbol: 'none'
                  }
                },
                label: {
                  show: false
                }
              },
              {
                value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                itemStyle: {
                  color: 'none',
                  decal: {
                    symbol: 'none'
                  }
                },
                label: {
                  show: false
                }
              },
              {
                value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                itemStyle: {
                  color: 'none',
                  decal: {
                    symbol: 'none'
                  }
                },
                label: {
                  show: false
                }
              }, {
              value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
              itemStyle: {
                color: 'none',
                decal: {
                  symbol: 'none'
                }
              },
              label: {
                show: false
              }
            }

            )

          } else {
            data.push(
              {
                value: this.personnelAttendance[2].value + this.personnelAttendance[0].value + this.personnelAttendance[1].value + this.personnelAttendance[3].value,
                itemStyle: {
                  color: 'none',
                  decal: {
                    symbol: 'none'
                  }
                },
                label: {
                  show: false
                }
              },

            )
          }

最后在数据为0或不为0时都能正常显示半圆

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ECharts 是百度开源的一款数据可视化库,可以用于创建各种类型表,包括环形环形是一种环形的变体,通过将环形沿中轴线折叠,形成一个圆,可以更好地展示数据的比例关系。 要创建一个环形,首先需要引入 ECharts 库,并创建一个容器来放置表。然后,定义表的配置项,包括表的样式、数据、标题等。最后,使用 `echarts.init()` 方法初始化表,并使用 `setOption()` 方法设置配置项。 以下是一个简单的示例代码,展示如何使用 ECharts 创建一个环形: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts 环形示例</title> <script src="https://cdn.jsdelivr.net/npm/echarts@5.0.2/dist/echarts.min.js"></script> </head> <body> <div id="chart" style="width: 600px; height: 400px;"></div> <script> // 初始化表 var chart = echarts.init(document.getElementById('chart')); // 表的配置项 var option = { title: { text: '环形示例' }, series: [{ type: 'pie', radius: ['40%', '70%'], avoidLabelOverlap: false, label: { show: false, position: 'center' }, emphasis: { label: { show: true, fontSize: '30', fontWeight: 'bold' } }, labelLine: { show: false }, data: [ {value: 335, name: '数据项1'}, {value: 310, name: '数据项2'}, {value: 234, name: '数据项3'}, {value: 135, name: '数据项4'}, {value: 1548, name: '数据项5'} ] }] }; // 设置表的配置项 chart.setOption(option); </script> </body> </html> ``` 在上述代码中,我们创建了一个环形,设置了表的标题为 "环形示例",并定义了五个数据项。可以根据实际需求修改数据和样式,以满足自己的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值