echarts图例分页显示
来源:互联网 发布:java荣誉勋章神兵天降 编辑:程序博客网 时间:2024/06/07 17:30
使用饼图展示数据是一种很常用的数据展示方法,我们可以通过其直观的看出数据的比例,对于一些数据的对比和分析是非常方便的。
最近在使用echarts插件做饼图的时候遇到了一些问题,就是在数据种类很多的时候,图例会撑破画面或是覆盖在饼图上显示,这样就会造成画面布局被打乱,体验是非常差的。
最后结合一系列资料查找总结出了一个简单明了的图例分页方法。如下:
html:(图例分页按钮)
<div id="legend_page" style="width:300px;height:20px;left:223px;top:190px;border:0px solid;position:absolute;display:none;"> <span class="glyphicon glyphicon-step-backward" style="color:#334B5C;" id="preIcon"></span> <span id="page_text"></span> <span class="glyphicon glyphicon-step-forward" style="color:#D53A35;" id="nextIcon"></span></div><div id="pie_legend_page" style="width:300px;height:20px;left:522px;top:190px;border:0px solid;position:absolute;display:none;"> <span class="glyphicon glyphicon-step-backward" style="color:#334B5C;" id="preBtn"></span> <span id="pie_page_text"></span> <span class="glyphicon glyphicon-step-forward" style="color:#D53A35;" id="nextBtn"></span></div>
js:(分页方法)
//图例分页显示函数function setLegendPagination(totalLegendData,pageNumber,chart,pieNum) { var total = totalLegendData.length; if(total>7){ $("#legend_page").show(); $("#pie_legend_page").show(); }else{//图例小于7个时不显示 $("#legend_page").hide(); $("#pie_legend_page").hide(); } var totalPage = Math.ceil(total / 7); //总页数 if (pageNumber <= totalPage && pageNumber > 0) {//保证页数在有效值范围内 var legendData = []; var skip = parseInt((pageNumber - 1)) * 7; for (var i = skip; i < skip + 7; ++i) { legendData[i - skip] = totalLegendData[i]; } if(pieNum==1){//判断是哪个图形 $("#page_text").html(pageNumber + '/' + totalPage);//分页图标中间的显示内容,如1/7,代表当前页和总的页数 }else{ $("#pie_page_text").html(pageNumber + '/' + totalPage); } chart.setOption({ legend: { data: legendData } }) }}上面的函数有4个传参,分别是:存储图例数据的数组,当前页数,要设置图例的图形对象,图形区分(用于有多个图形时进行图形区分,可传1、2、3....)。
//图例初始化函数(可选择时间饼图)function setPage(arr,chart){var pageNumber=1;$("#preIcon").click(function(){pageNumber--;setLegendPagination(arr,pageNumber,chart,1);});$("#nextIcon").click(function(){pageNumber++;setLegendPagination(arr,pageNumber,chart,1);}); setLegendPagination(arr,pageNumber,chart,1);}//图例初始化函数(不可选择时间饼图)function setPiePage(arr,chart){var pageNumber=1;$("#preBtn").click(function(){pageNumber--;setLegendPagination(arr,pageNumber,chart,2);});$("#nextBtn").click(function(){pageNumber++;setLegendPagination(arr,pageNumber,chart,2);});setLegendPagination(arr,pageNumber,chart,2);}
上面的函数用于初始化图形并在点击按钮时进行图例分页显示。
var arr = []; var value = []; for(var i=0;i<result.length;i++){ arr.push(result[i]["parent_a_name"]); } for(var i=0;i<result.length;i++){ value.push({value:result[i]["h_total_energy"],name:result[i]["parent_a_name"]}); } pieChart.setOption({ //加载数据图表 series: [{ data: value }] }); setPiePage(arr,pieChart);
上面的代码是在ajax成功返回结果的区域直接调用方法,这样就可以在用ajax请求数据后进行图形传参初始化,并对图例进行分页显示了。
效果如下:
阅读全文
0 0
- echarts图例分页显示
- eCharts不显示图例问题
- echarts图例太多做分页处理
- echarts的legend图例的显示与隐藏(legend图例进入页面显示的个数)
- echarts图例显示不全以及颜色的一些问题
- echarts自定义lengend图例
- Echarts 图例手动换行
- echarts柱状图线形图例子
- echarts 修改图例legend颜色
- echarts重写图例点击事件
- Echarts树图结构中图例的选择显示功能实现
- 【已解决】Echarts报表表头过多情况下,图例与图表线条重叠显示
- 解决按需引入 ECharts 后图例不显示的问题
- echarts图例颜色与地图底色
- Echarts图例legend过多,采用翻页处理
- 使用OWC显示图例
- 显示主题图图例
- 【Matplotlib】图例分开显示
- python代码:图片鉴黄
- 23种设计模式
- 网络编程复习(七):Netty解决拆包粘包问题--分隔符方式
- erlang lists 系列函数功能与用法详解
- 如何实现WordPress自动检查文章是否被百度收录
- echarts图例分页显示
- 财务报表模块概述
- VMware Workstation虚拟机平台安装Linux-Ubuntu16.04图文教程
- pl- 配置远程打印机,用linux命令行打印
- 从相册读取大文件dataWithContentsOfURL?
- SpringMVC的Java配置替换spring-mvc.xml文件
- org.bouncycastle.jce.provider.JCERSAPrivateCrtKey
- scala-单机wordcount
- 不安装oracle客户端,plsql developer的安装教程