echart 饼图数据为0不显示或者太小显示其他的解决办法
饼图数据为0或者太小显示如下,不美观

解决办法:
为0的去掉,小于0.005的累加起来
方法
function getsData(_rowData){
var rowData=JSON.parse(JSON.stringify(_rowData))
var sum=rowData.reduce(function(o,v,i){
o+=parseFloat(v.value);
return o;
},0)
if(isNaN(sum)||sum==0){return []}
rowData.sort(function(a,b){
return a.value-b.value;
}).reverse();
var val=0;//其他的相加
for(var i=rowData.length-1;i>0;i--){
var _row=rowData[i],sub;
sub=_row.value/sum;
//如果为0或者小于.05的比例就将此元素移除
if(sub<0.005){
rowData.length=i;//去掉最后一个
val+=parseFloat(_row.value);
}
}
//在后面追加一个其他的项
if(val>0){
rowData[length].name="其他";
rowData[length].value=val;
}
return rowData;
}
效果图

完整的option
var testData=[
{value:3331, name:'直接访问'},
{value:3110, name:'邮件营销'},
{value:234, name:'联盟广告'},
{value:0, name:'联盟广告'},
{value:10, name:'联盟广告1'},
{value:10, name:'联盟广告22'},
{value:10, name:'联盟广告122'},
{value:10, name:'联盟广告333'},
{value:20, name:'联盟广告3'},
{value:10, name:'联盟广告4'},
{value:11135, name:'视频广告'},
{value:11548, name:'搜索引擎'}
],
option = {
title : {
text: '某站点用户访问来源',
subtext: '纯属虚构',
x:'center'
},
tooltip : {
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
legend: {
orient: 'vertical',
left: 'left',
data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
},
series : [
{
name: '访问来源',
type: 'pie',
radius : '55%',
center: ['50%', '60%'],
data:getsData(testData),
//data:testData,
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
function getsData(_rowData){
var rowData=JSON.parse(JSON.stringify(_rowData))
var sum=rowData.reduce(function(o,v,i){
o+=parseFloat(v.value);
return o;
},0)
if(isNaN(sum)||sum==0){return []}
rowData.sort(function(a,b){
return a.value-b.value;
}).reverse();
var val=0;//其他的相加
for(var i=rowData.length-1;i>0;i--){
var _row=rowData[i],sub;
sub=_row.value/sum;
//如果为0或者小于.05的比例就将此元素移除
if(sub<0.005){
rowData.length=i;//去掉最后一个
val+=parseFloat(_row.value);
}
}
//在后面追加一个其他的项
if(val>0){
rowData[length].name="其他";
rowData[length].value=val;
}
return rowData;
}
echart 饼图数据为0不显示或者太小显示其他的解决办法的更多相关文章
- IIS7.5中调试.Net 4.0网站出现无厘头500错误的解决办法 (转)
刚刚 部署了ii7的dll的有x86写的,就会出现以下这样的问题 iis 7 x86,Could not load file or assembly 'Name' or one of its depe ...
- Nested Loops join时显示no join predicate原因分析以及解决办法
本文出处:http://www.cnblogs.com/wy123/p/6238844.html 最近遇到一个存储过程在某些特殊的情况下,效率极其低效, 至于底下到什么程度我现在都没有一个确切的数据, ...
- Visual Studio 2010 起始页中 不显示最近使用的项目问题,解决办法
最近新装了vs2010,发现打开vs2010 后 起始页面中的最近使用的栏目中 并未显示最近加载的项目 解决办法如下: 运行 regedit 打开下面的键值: HKEY_CURRENT_USER/So ...
- Duplicate entry '0' for key 'PRIMARY'的一种可能的解决办法
在MySQL设计好数据库往往数据库中插入数据的时候, 因为主键ID默认是不赋值的,只给其他项目赋值了,相关的SQL代码是这样的 StringBuilder strSql = new StringBui ...
- Oracle数据泵导入dmp文件,报UDI-12154、ORA-12154错误解决办法
1. 数据泵导入dmp文件,报UDI-12154.ORA-12154 1.1 导入命令 impdp cwy_init/init@orcl directory=DATA_PUMP_DIR dumpfil ...
- [异常解决] 安卓6.0权限问题导致老蓝牙程序出现异常解决办法:Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission...
一.问题: 之前写的一款安卓4.4的应用程序,用来连接蓝牙BLE,而现在拿出来用新的AS编译(此时SDK为6.0,手机也是6.0)应用程序并不能搜索到蓝牙,查看log总是报权限错误: Need ACC ...
- SlidesJS 3.0.4 在手机上遇到的一些问题及解决办法
SlidesJS 3.0.4 http://slidesjs.com 在手机上遇到的一些问题及解决办法 1.手机上打开有sliderjs的页面后, 切换到别的页面再回来时, sliderjs部分不能滑 ...
- 打开局域网项目,显示“项目位置不受信任”的解决办法(VS2008)
弄了几天,网上搜了个遍,愣是解决不了,绝望的时候闭着眼睛胡搞,居然解决了,哈哈.... 开发环境:visual studio 2008 项目位置:局域网其他电脑内 出现问题: 1.弹出“”的对话框,如 ...
- VC++6.0在win8.1系统下运行失败的解决办法
在win8.1系统下安装了VC++6,.0编译软件之后,发现打不开.出现下面的错误: 解决办法: 安装文件目录:Microsoft Visual Studio--common--MSDev98--Bi ...
随机推荐
- Linux常见配置文件
一./etc 配置文件 /etc/passwd 用户数据库,其中的域给出了用户名.真实姓名.家目录.加密口令和用户的其他信息 /etc/group 类似/etc/passwd ,但说明的不是用户而是组 ...
- 20145234黄斐《java程序设计》第六周
教材学习内容总结 第十章:输入与输出 InputStream与OutputStream 流(Stream)是对「输入输出」的抽象,注意「输入输出」是相对程序而言的 InputStream与Output ...
- 菜鸟——使用bootstrap
方法一: 直接在页面中加入bootstrap的网址,不需要做其他任何改动 <%-- Created by IntelliJ IDEA. User: JC Date: 2017/2/24 Time ...
- kubernetes 应用基本准则
不要直接部署裸的Pod. 为工作负载选择合适的Controller. 使用Init容器确保应用程序被正确的初始化. 在应用程序工作负载启动之前先启动service. 使用Deployment hist ...
- JavaScript原型与继承的秘密
在GitHub上看到的关于JavaScript原型与继承的讲解,感觉很有用,为方便以后阅读,copy到自己的随笔中. 原文地址:https://github.com/dreamapplehappy/b ...
- OpenLayers在地图上显示统计图,饼图线状图柱状图,修复统计图跳动的问题
环境介绍 Openlayers ol.js v5.3.0 Highcharts highcharts.js v7.0.1 jquery jquery-3.3.1.js v3.3.1 显示效果 地图放大 ...
- css 可拖拽列表
<!DOCTYPE HTML> <html><head> <meta charset="UTF-8"> <title>d ...
- From Alpha to Gamma (I)
What we think of as conventional alpha-blending is basically wrong. --Tom Forsyth 前段时间在Amazon上淘的三本二手 ...
- 博客迁址 xpeng.scorpionstudio.com
这里不再更新!现在博客的正式地址是: http://xpeng.scorpionstudio.com
- Day 25 多态.
一.多态的概念 多态指的是一类事物有多种形态.动物有多种形态:人,狗,猪 from abc import ABCMeta,abstractmethod class Animal(metaclass=a ...