Echarts饼图数据为0时如何不显示label

本文介绍了如何在Echarts中处理饼图数据为0时,不显示标签和标签线的问题。通过在series的label.normal.formatter中添加条件判断,当数据值为0时关闭labelLine和label的显示。提供了一段具体的配置代码示例,适用于Echarts 5.0.2及以上版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先看效果

如果数据中有0的话,Echarts默认是不展示的,这样很鸡肋,你可以直接更改为文字,像这样:

但是产品此时又会说,为毛和其他区域展示不一样,能不能为0的时候不展示。此时你硬着头皮:So easy;

然而,通读了一遍API眼花缭乱的你也没瞅着哪儿可以把他去掉。于是你就百度百度不停的百度,终于看到一篇文章《Echarts饼图数据为0时如何不显示label》,看标题,是不是有了什么启发,对,label,为0的文字叫label,为0的那条线叫labelLine,或许你看过一篇文章叫《echarts饼图不显示数据为0的数据》,但是当你复制到你的编辑器里时,然并卵,像这样:

相信此时的博主也很无奈,难倒你们看不到这段code吗?<script type="text/javascript" src="echarts.js"></script>,Emmmm,这段代码咋了,博主用的是个低版本的,而现在Echarts已经升级到了5.0.2,so...

接下来看大哥的...不需要你通读,不需要你了解,依旧copy、copy、copy就OK了。

上code:

            series: [
				        {
				        	label:{
						        normal:{
						         formatter:function(e){
						            let data=e.data;
						            	if(data.value==0){
						            		data.labelLine.show=false;
						            		data.label.show=false;
						            	}else{
						            		return  `${data.value}\n${e.percent}%`
						            	}
						            },    
						        }       
						    },
				            type: 'pie',
				            radius: '65%',
				            center: ['50%', '50%'],
				            selectedMode: 'single',
				            data: [
				                {value: 123,name: '红色区域',itemStyle:{'color':'#74a275'},labelLine: {show: true},label:{show:true}},
				                {value: 321, name: '黄色区域',itemStyle:{'color':'#769a9f'},labelLine: {show: true},label:{show:true}},
				                {value: 666, name: '紫色区域',itemStyle:{'color':'#eddc7e'},labelLine: {show: true},label:{show:true}},
				                {value: 333, name: '蓝色区域',itemStyle:{'color':'#e87e58'},labelLine: {show: true},label:{show:true}},
				                {value: 111, name: '绿色区域',itemStyle:{'color':'#db6c69'},labelLine: {show: true},label:{show:true}}
				            ],
				            emphasis: {
				                itemStyle: {
				                    shadowBlur: 10,
				                    shadowOffsetX: 0,
				                    shadowColor: 'rgba(0, 0, 0, 0.5)'
				                }
				            }
				        }
				    ]

看到这里无非就两块,在data中默认设置labelLine和label为显示,在label中判断为0的时候把show改为false,瞅着确实挺简单,但问题你就是找不到API,哈哈。

终于好了,复制到这里,你可以拿去交工了,不用谢,不要喷,喜欢的点赞带走,不喜欢的请自觉绕道,写个需要的人,喷子勿扰!!!

插播一条广告:

       本公司自营项目:

                  微信电商小程序(拼团、砍价、会员、积分、限时秒杀、分销、直播等诸多功能);

                  刷脸支付(招商加盟,代理加盟,一站式源码部署);

                  另:接各种开发项目,PC、移动、webApp、小程序、App、M站等;

                 如果有需要请打开http://yykj.huijik.com进行留言,(进入页面下拉到最底端即可留言)

评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值