背景

近期开发工作中涉及到大量的数据展示功能,主要使用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实用技巧整理相关推荐

  1. Word 实用技巧整理

    任何工作都有窍门,大家常用的办公软件Word也不例外.本文的目的就是为大家更好的使用Word提供一些帮助,让Word为我们的办公出份力. 一.Word操作小技巧 1.修改Word文档的默认保存路径 一 ...

  2. SecureCRT实用技巧整理

    SecureCRT可以说是SSH连接的必备良器,各位Linux大拿菜鸟贴心神兵.但是有时候一些默认设置不是很对胃口,这就需要略施巧妙,并加以调教,方的和谐大家.写这篇博客,没什么特别的意思,只是一些东 ...

  3. 做网页很实用代码集合和CSS制作网页小技巧整理

    做网页很实用代码集合 控制横向和纵向滚动条的显隐?<body style="overflow-y:hidden"> 去掉x轴 <body style=" ...

  4. Python大神用的贼溜,9个实用技巧分享给你

    来源:数据分析1480 本文约3000字,建议阅读6分钟 本文为你介绍一些关于python的实用技巧. 本文会试着介绍一些其它文章没有提到的小技巧,这些小技巧也是我平时会用到的的.让我们一探究竟吧! ...

  5. 快过年了,分享 25 个 JS 实用技巧送给大家吧

    本文主要介绍一些JS中用到的小技巧,可以在日常Coding中提升幸福度,将不定期更新~ 类型强制转换 1.1 string强制转换为数字 可以用 *1来转化为数字(实际上是调用 .valueOf方法) ...

  6. 不为人知的几个微信实用技巧

    苏生不惑第 200 篇原创文章,将本公众号设为星标,第一时间看最新文章. 昨天文章 一键备份导出虾米音乐数据,包含收藏专辑/音乐/艺人/歌单 的红包抽奖还没结束,没抽的可以进去试试. 关于微信之前写过 ...

  7. CSS实用技巧第一讲:文字处理

    前言 作为程序员的我们,书写代码也需要大量的技巧.一份良好的代码能让人耳目一新,让人容易理解,同时也让自己成就感满满.因此,在这里简单的整理一些CSS开发技巧,希望能让你写出耳目一新.容易理解.舒服自 ...

  8. 计算机excel必备知识,Excel超级实用技巧12则 -电脑资料

    大家经常用Excel制作表格,处理数据,怎样才能提高工作效率呢?下面我们就为大家整理12则Excel常用小技巧, 1.用Excel计算多列数据的运算结果时,你可以在旁边的一列显示出它的每步计算经过,用 ...

  9. 很全面的WinRAR实用技巧系列 - imsoft.cnblogs

    WinRAR也可以管理我的桌面时间长了,桌面上堆的东西实在太多,平时该如何管理呢?安装了WinRAR的朋友可以请它来帮忙,用它管理清除无用的桌面文件或图标. 以XP系统为例,系统所在目录是" ...

最新文章

  1. 【机器学习入门】(5) 决策树算法实战:sklearn实现决策树,实例应用(沉船幸存者预测)附python完整代码及数据集
  2. webpack 搭建rect项目
  3. android项目两种构建方式的整合(Eclipse/idea和Android Studio)
  4. Python中的and和or
  5. Android.mk解析【转】
  6. Angular2项目中浏览器拦截弹出窗口的解决方法
  7. 影响中国历史的十篇政治美文
  8. ArcGIS10.5资源分享
  9. continue语句只用于循环语句中_流程控制(跳转语句)
  10. VMware 12 专业版永久许可证密钥
  11. java借书_用java语言实现借书系统
  12. 通过Java实现一个企业人事管理系统
  13. 威纶通触摸屏上传错误_威纶通触摸屏程序怎么上传?
  14. 【Modbus 】Modbus 协议
  15. 矩阵笔记1:矩阵分析(第三版)-史荣昌-第一章:线性空间和线性变换
  16. 四个步骤教你写好一款产品的运营数据分析报告(转)
  17. 论文阅读:Recurrent Neural Networks for Time Series Forecasting Current Status and Future Directions
  18. 基于PSO工具箱的函数寻优算法
  19. Job 和 Event
  20. Android 通讯录导航栏

热门文章

  1. Android6.0以下判断手机录音和相机权限
  2. 拥有多个三级域名的用户可以申请通配符证书吗
  3. JavaLambda表达式
  4. 【Python】数据分析.numpy.矩阵乘法运算
  5. xml文件解析 (DOM4J解析XML) -java
  6. HTML5游戏开发(十)
  7. 身份证,港澳通行证,台胞证,护照正则表达式
  8. 基础摄像头四轮智能车的制作
  9. jq锚点定位平滑跳转和导航跟随页面滚动并定位到相应位置,导航高亮显示
  10. 黑马程序员 飞机大战 笔记 上