echart3实用技巧整理
背景
近期开发工作中涉及到大量的数据展示功能,主要使用echart3绘图,总的来说echart3还是比较容易上手的,本文整理几个实用用法,作为网上笔记,以备后用。
学会看API
这是echart3官方文档
API是针对echart对象相关调用方法的说明,分为四类:echarts全局、echarts实例对象、动作、事件;配置项是echarts实例的各个配置的说明。
动态触发tooltip
在 ECharts 3 里改为通过调用 myChart.dispatchAction({ type: ” }) 触发图表行为,统一管理了所有动作,也可以方便地根据需要去记录用户的行为路径。
查看官方API的action目录下,有tooltip动作的说明指定在相对容器的位置处显示提示框,如果指定的位置无法显示则无效。
展开tooltip:
dispatchAction({type: 'showTip', // 屏幕上的 x 坐标x: number, // 屏幕上的 y 坐标y: number, // 本次显示 tooltip 的位置。只在本次 action 中生效。 // 缺省则使用 option 中定义的 tooltip 位置。position: Array.<number>|string|Function
})
隐藏tooltip:
dispatchAction({type: 'hideTip'
})
dispatchAction方法是echart图表对象的方法,应用场景:动态趋势图展示的时候,每5秒一刷新,为了显示最新数据的信息,可以在图表绘制完成后自动触发tooltip方法,然后3秒后隐藏tooltip信息。示例方法:
//自动触发最后一个数据的tooltip事件,并且3秒后关闭monitorOption_charts.dispatchAction({type: 'showTip',seriesIndex: 1,dataIndex: 59});setTimeout(function () {monitorOption_charts.dispatchAction({type: 'hideTip',});}, 3000)
最小显示宽度
条形图的数据太小时,柱子的高度为0;饼图的数值过小时,该饼块区域的信息会特别密集;这是跟图的数据相关的配置,echarts3的配置手册的series的不同图有不同的配置信息。
官网找到配置项后,展开bar条形图:
barMinHeight就是控制柱子高度的属性,默认是0。使用方式如下:
series: {name: 'ip',type: 'bar',barMinHeight:10,//防止值过小时,没有鼠标手的问题barMaxWidth:30,//防止值少时,柱子太宽stack: '总量',label: {normal: {show: true,position: 'inside',formatter: '{c}'}},data: values
}
饼图的每个饼的大小也有类似的属性,展开pie类型的图的配置如下:
minAngle最小角度就是控制饼最小显示角度的,默认为0。
series: [{name: '浏览器市场',type: 'pie',radius: ['50%', '65%'],color: colors,minAngle:10, data: datas}]
});
滚动图例
图例过多时会堆积到图的显示区域导致真正的数据信息被遮挡,低版本的echart3可以通过截断图例或者动态调整图例padding的top属性来控制,缺陷是依然会挤压到绘图区域。echart3.7版本提供了滚动图例,完美解决了这个问题。
具体使用方法,在图例配置项直接设置type为scroll即可:
legend: {type:'scroll',//使用滚动图例textStyle: {color: '#ffffff'},data: lengends}
销毁重绘
如果一个区域的图需要重复被绘制,并且该图又需要绑定点击事件,点击事件是win.open打开某个页面,那么echart3.7在某些浏览器版本下就存在事件重复绑定问题,导致点击一个图同时弹出N个(重绘并绑定事件的次数)页面的情况。
解决办法,echart3.7提供了dispose方法可以先销毁原来的图,再重新绘图。API说明如下:
使用方法,将待初始化的echarts图对象定义为全局的,在每次绘图之前,先判断该图是否被绘制过,如果是,则现销毁再绘图。示例代码如下:
var my_Charts = null;
function drawMyChart(){//推送数据后重新绘图,销毁原来的图if(my_Charts!=null){my_Charts.dispose();}my_Charts _Charts = echarts.init(document.getElementById ('my_Charts'));my_Charts.setOption(homeGroupOption);addEvent();
}
横轴坐标文字显示
横轴坐标数据过多,且每个坐标名称过长时,会出现文字显示重叠的问题,找到echart的官方配置的xAxis配置:
interval可以配置坐标数据间隔,默认自动适应。
rotate配置可以控制坐标轴文字的倾斜角度,默认是0,即横向显示。
如果数据过大,显示不全时,可以结合这两个属性让坐标名称倾斜一定角度,并控制间隔。示例代码:
xAxis: {type: 'category',axisLabel: {show: true,interval: 5,//默认自适应,设置为5rotate:30 ,//文字倾斜30度textStyle: {color: '#fff'}},data:trendChartData.time},
echart3实用技巧整理相关推荐
- Word 实用技巧整理
任何工作都有窍门,大家常用的办公软件Word也不例外.本文的目的就是为大家更好的使用Word提供一些帮助,让Word为我们的办公出份力. 一.Word操作小技巧 1.修改Word文档的默认保存路径 一 ...
- SecureCRT实用技巧整理
SecureCRT可以说是SSH连接的必备良器,各位Linux大拿菜鸟贴心神兵.但是有时候一些默认设置不是很对胃口,这就需要略施巧妙,并加以调教,方的和谐大家.写这篇博客,没什么特别的意思,只是一些东 ...
- 做网页很实用代码集合和CSS制作网页小技巧整理
做网页很实用代码集合 控制横向和纵向滚动条的显隐?<body style="overflow-y:hidden"> 去掉x轴 <body style=" ...
- Python大神用的贼溜,9个实用技巧分享给你
来源:数据分析1480 本文约3000字,建议阅读6分钟 本文为你介绍一些关于python的实用技巧. 本文会试着介绍一些其它文章没有提到的小技巧,这些小技巧也是我平时会用到的的.让我们一探究竟吧! ...
- 快过年了,分享 25 个 JS 实用技巧送给大家吧
本文主要介绍一些JS中用到的小技巧,可以在日常Coding中提升幸福度,将不定期更新~ 类型强制转换 1.1 string强制转换为数字 可以用 *1来转化为数字(实际上是调用 .valueOf方法) ...
- 不为人知的几个微信实用技巧
苏生不惑第 200 篇原创文章,将本公众号设为星标,第一时间看最新文章. 昨天文章 一键备份导出虾米音乐数据,包含收藏专辑/音乐/艺人/歌单 的红包抽奖还没结束,没抽的可以进去试试. 关于微信之前写过 ...
- CSS实用技巧第一讲:文字处理
前言 作为程序员的我们,书写代码也需要大量的技巧.一份良好的代码能让人耳目一新,让人容易理解,同时也让自己成就感满满.因此,在这里简单的整理一些CSS开发技巧,希望能让你写出耳目一新.容易理解.舒服自 ...
- 计算机excel必备知识,Excel超级实用技巧12则 -电脑资料
大家经常用Excel制作表格,处理数据,怎样才能提高工作效率呢?下面我们就为大家整理12则Excel常用小技巧, 1.用Excel计算多列数据的运算结果时,你可以在旁边的一列显示出它的每步计算经过,用 ...
- 很全面的WinRAR实用技巧系列 - imsoft.cnblogs
WinRAR也可以管理我的桌面时间长了,桌面上堆的东西实在太多,平时该如何管理呢?安装了WinRAR的朋友可以请它来帮忙,用它管理清除无用的桌面文件或图标. 以XP系统为例,系统所在目录是" ...
最新文章
- 【机器学习入门】(5) 决策树算法实战:sklearn实现决策树,实例应用(沉船幸存者预测)附python完整代码及数据集
- webpack 搭建rect项目
- android项目两种构建方式的整合(Eclipse/idea和Android Studio)
- Python中的and和or
- Android.mk解析【转】
- Angular2项目中浏览器拦截弹出窗口的解决方法
- 影响中国历史的十篇政治美文
- ArcGIS10.5资源分享
- continue语句只用于循环语句中_流程控制(跳转语句)
- VMware 12 专业版永久许可证密钥
- java借书_用java语言实现借书系统
- 通过Java实现一个企业人事管理系统
- 威纶通触摸屏上传错误_威纶通触摸屏程序怎么上传?
- 【Modbus 】Modbus 协议
- 矩阵笔记1:矩阵分析(第三版)-史荣昌-第一章:线性空间和线性变换
- 四个步骤教你写好一款产品的运营数据分析报告(转)
- 论文阅读:Recurrent Neural Networks for Time Series Forecasting Current Status and Future Directions
- 基于PSO工具箱的函数寻优算法
- Job 和 Event
- Android 通讯录导航栏