首先看效果
如果数据中有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进行留言,(进入页面下拉到最底端即可留言)