【eCharts】echarts饼状图数据重叠导致指示线及显示文字重叠解决
1. 解决前
2.解决后
3.代码
function makePie(id, title, name, data, show) {if (!show) {show = false;}var myChart = echarts.init(document.getElementById(id));var option = {title: {show:false,text: title,top: 2,left: '20',textStyle: {fontSize: 14,color:'#767676',fontWeight:600,fontFamily:'Microsoft Yahei'},},tooltip: {trigger: 'item',textStyle: {fontSize: 12,fontFamily:'Microsoft Yahei'},formatter: function (params) {return params.data.name + ":<br/>" + fmoneyf(params.data.value, 0) + "(" + params.percent + "%)";}},legend: {// type: 'scroll',orient:'vertical',top:80,y:'middle',height:'60%',right: getValueFromJson(data, 'name').length > 6 ? 0 : 5,textStyle: {fontSize: 12,color:'#848484'},icon:'circle',data: getValueFromJson(data, 'name')},series: [{name: name,x: 'left', y: 'center', type: 'pie',center:['50%', '60%'],//radius: getValueFromJson(data, 'name').length > 6 ? ['40%', '84px'] : ['46%','90px'],radius: '55%',avoidLabelOverlap: true,minAngle: 5,label: {align: 'left',normal: {show: show,lineHeight:30,textStyle: {fontFamily:'Microsoft Yahei'},formatter(v) {let text = Math.round(v.percent)+'%' + '' + v.nameif(text.length <= 8){return text;}else if(text.length > 8 && text.length <= 16){return text = `${text.slice(0,8)}\n${text.slice(8)}`}else if(text.length > 16 && text.length <= 24){return text = `${text.slice(0,8)}\n${text.slice(8,16)}\n${text.slice(16)}`}else if(text.length > 24 && text.length <= 30){return text = `${text.slice(0,8)}\n${text.slice(8,16)}\n${text.slice(16,24)}\n${text.slice(24)}`}else if(text.length > 30){return text = `${text.slice(0,8)}\n${text.slice(8,16)}\n${text.slice(16,24)}\n${text.slice(24,30)}\n${text.slice(30)}`}},rich: { color1: { color: '#000000',fontSize: 14,lineHeight:12,fontWeight:600}, color2: { color: '#848484' ,fontSize: 12,} }, }, emphasis: {show: !show,textStyle: {fontSize: 12,color:'#000000',fontFamily:'Microsoft Yahei'},formatter: function (params) {return params.data.name + ": " + fmoneyf(params.data.value, 0) + "(" + params.percent + "%)";}}},labelLine:{length:10,length2:100,lineStyle:{color:'#848484',}},data: data,color:getValueFromJson(data, 'color'),}]};myChart.setOption(option);
}
4.主要代码段:
series: [{name: name,x: 'left', y: 'center', type: 'pie',center:['50%', '60%'],//radius: getValueFromJson(data, 'name').length > 6 ? ['40%', '84px'] : ['46%','90px'],radius: '55%',avoidLabelOverlap: true,minAngle: 5,label: {align: 'left',normal: {show: show,lineHeight:30,textStyle: {fontFamily:'Microsoft Yahei'},formatter(v) {//此方法为核心代码,解决问题let text = Math.round(v.percent)+'%' + '' + v.nameif(text.length <= 8){return text;}else if(text.length > 8 && text.length <= 16){return text = `${text.slice(0,8)}\n${text.slice(8)}`}else if(text.length > 16 && text.length <= 24){return text = `${text.slice(0,8)}\n${text.slice(8,16)}\n${text.slice(16)}`}else if(text.length > 24 && text.length <= 30){return text = `${text.slice(0,8)}\n${text.slice(8,16)}\n${text.slice(16,24)}\n${text.slice(24)}`}else if(text.length > 30){return text = `${text.slice(0,8)}\n${text.slice(8,16)}\n${text.slice(16,24)}\n${text.slice(24,30)}\n${text.slice(30)}`}},rich: { color1: { color: '#000000',fontSize: 14,lineHeight:12,fontWeight:600}, color2: { color: '#848484' ,fontSize: 12,} }, }, emphasis: {show: !show,textStyle: {fontSize: 12,color:'#000000',fontFamily:'Microsoft Yahei'},formatter: function (params) {return params.data.name + ": " + fmoneyf(params.data.value, 0) + "(" + params.percent + "%)";}}},
转载自:https://blog.csdn.net/liangayang/article/details/84792294
【eCharts】echarts饼状图数据重叠导致指示线及显示文字重叠解决相关推荐
- echarts饼状图数据过多时,数据叠加(问题篇)
1.问题如下图所示 2.解决办法 先给data中声明两个变量 seriesData: [], //决定图表中显示的个数selected: {}, // 决定图表中显示的个数 处理后台取到的数据 // ...
- echarts制作饼状图如何设置不同类别之间有一定间隔?
解决echarts饼状图不同类之间有一定间隔 用echarts制作饼状图时,为了有利于区分不同类别,一般通过设置不同的颜色代表不同的类别即可,但为了进一步体现不同类别之间的区分,可通过设置不同类别之间 ...
- Echarts饼状图数据动态获取
首先肯定是引入echarts的相关jar包,地址:https://www.echartsjs.com/zh/download.html 你可以引入在线定制生成的jar包,如下图所示: 然后接下来就自己 ...
- Echarts 3d饼状图
记录使用Echarts 实现3D饼状图的过程. 效果图: 1.首先安装echarts 3d插件 "echarts": "^4.7.0", "echar ...
- python饼状图颜色一样_使用echarts画饼状图,设置饼状图颜色
前言: 前面已经跟大家分享了使用echarts画柱状图.折线图,一些之前自己遇到的坑也跟大家说了,这次就不再赘述.官方有配置文档,很详细,大家不懂的地方也可以交流. 今日分享重点:画饼状图. 1.引入 ...
- 使用echarts画饼状图,设置饼状图颜色
前言: 使用echarts遇到过的坑: 一定要给图表容器添加宽度与高度. 图表在容器中可以调整位置,让图表显示的更完整. 今日分享重点:画饼状图. 1.引入相关js <script type=& ...
- Echarts动态饼状图,柱形图,关系图绘制
1 饼状图代码(动态) //echarts图var chrNumber =[];var chrnum=[];for (var i=0;i<data.chrNum.length;i++){//通过 ...
- echarts饼状图设置label的交互效果,饼状图鼠标浮上图形才显示label和视觉引导线
echarts饼状图默认label和视觉引导线效果: 这个效果没有没有形成与用户的交互,此时添加如下设置: label: {show: false,position: 'outside'},empha ...
- Echarts百分比饼状图
百分比饼状图两个关键点 1.设置最大值 const maxVal = 100 2.data里两份数据 data: [{value: val, // 原始数据不做展示},{value: maxVal - ...
最新文章
- PLSQL_性能优化系列04_Oracle Optimizer优化器
- 从Java到Kotlin(三)
- nagios监控远程端口
- kepserver 三菱fx_#电工培训# #plc培训# PLC培训 学在智通 赢在职场【三菱plc吧】
- r语言向量代码如何创建函数c,R中向量基本操作:创建、运算、访问
- 用HTML制作一个漂亮的成绩表,JS-结合html综合练习js的对象——班级成绩表制作...
- sleep 与 wait 区别
- XML内部DTD约束 Day24
- EventLoop 与Channel 的关联
- java null转换jason_常见java问题及解决办法汇总(干货可收藏)
- adsl 路由器默认密码
- 【观察】 全新紫光云:“云数智”底盘再升级,背后的三重新价值
- Redis集群:./redis-trib.rb:24:in `require': no such file to load -- rubygems
- 8086 CPU结构
- ARCGIS---栅格影像矢量化(含二级化/二值化、栅格清理)
- 简体中文旗舰版Windows7SP1
- 大数据查询工具HBase读写设计与实践
- Keil4工程用Keil5继续开发,编译报错问题探究
- C++输入密码显示*
- 【路径规划】基于蚁群算法求解运钞车路径规划VRPSD问题matlab代码
热门文章
- 拿小本本记下的Linux Shell常用技巧(一)
- 【毕业设计】基于STM32的无线WIFI投影设计(解析BMP、TCP通讯)
- 从入门到精通ARM(4412)-Linux内核驱动编程【下】-李志勇-专题视频课程
- catkin tools安装
- [转贴]Telnet到小E的快捷方法
- 国内十大无代码平台,无代码app开发平台有哪些?
- Mysql 1067系统错误终极解决方案全集
- C语言去除字符串空格的方法ltrim/rtrim/strim
- 抖音自媒体怎么将视频一键发布到快手、视频号?
- Espressif-IDE2.42在windows7x64下安装报错importing _ssl:参数错误