浅谈对ECharts的使用
上个月的项目,其中有一个模块用的是ECharts来实现的,分别用了折线图,环形图,还有漏斗图,这几个都算比较常见的了,尤其是折线图,环形图,用的最多的就是它们了。之前也没怎么接触过ECharts,实际上用起来,好像很简单,就是看看API,然后写个demo。
按照惯例,这时候应该对ECharts做个简单介绍:
ECharts (Enterprise Charts 商业产品图表库),提供商业产品常用图表,底层基于ZRender(一个全新的轻量级canvas类库),创建了坐标系,图例,提示,工具箱等基础组件,并在此上构建出折线图、柱状图、散点图、K线图、饼图、雷达图、地图、和弦图、力导向布局图、仪表盘以及漏斗图,同时支持任意维度的堆积和多图表混合展现。
兼容性:支持IE6/7/8/9+,chrome、firefox、safari、opera (IE8- power by excanvas )
ECharts确实很强大,能实现很多类型的报表,通过看官网就知道,里面的报表很多,各式各样的,基本都能满足需求,样式方面比highcharts还多,确实powerful,不得不点个赞啊。但是确实在使用的过程中也遇到了些问题,比如:
- 折线图的数据,在底部的点,鼠标移上去的浮窗有的文字会被挡住的问题;
- 一共有6个环形图,每一个环形图的浮窗的显示要求,有颜色的的文字显示,和剩下部分不一样;
- 环形图的头部固定显示“今日变化量XXX个”;
- 漏斗图中,带横线的数量显示文字挡住的问题;
解决方案:
- 对于鼠标一上去,出现浮窗的部分文字被挡住,其实浮窗的位置定位,是根据鼠标的位置定位的,故如图

- 对于环形图的鼠标移上去浮窗显示,调试代码发现,每次触发的是一个tooltip中的formatter方法,当然trigger的参数是“item”,以数据触发,这样的话,formatter里面的参数是每个点的数据,于是,在formatter里面写个switch就解决了。
- 对于环形图上面的文字显示,本来是在data里面写itemStyle解决了,但是有个缺点是,当今日变化量比较大时,环形图上的文字显示其实是一直处于变化量中间的文字的,这样的话,高度就不统一了,本来打算用markPoint,后来发现用起来比自己写还麻烦,官方演示文档在这方面很少,于是,自己在echarts的头部手写部分固定的“今日变化量”显示,注意,一般要先隐藏这部分,先显示暂无数据,等数据请求加载过来后,再显示“今日变化量”和echarts。
- 对于漏斗图中显示文字挡住的问题,其实就是把整个漏斗图左移一点就够了。
浅谈对ECharts的使用的更多相关文章
- 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...
- 浅谈 Fragment 生命周期
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...
- 浅谈 LayoutInflater
浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...
- 浅谈Java的throw与throws
转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...
- 浅谈SQL注入风险 - 一个Login拿下Server
前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...
- 浅谈WebService的版本兼容性设计
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...
- 浅谈angular2+ionic2
浅谈angular2+ionic2 前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScript的区别. 1. 项目所用:angular2+ionic2 ...
- iOS开发之浅谈MVVM的架构设计与团队协作
今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...
- Linux特殊符号浅谈
Linux特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(?.!.~...)打交道,其实在Linux有其独特的含义,大致可以分为三类:Linux特殊符号.通配符.正则表达式. Linux特殊符号又可 ...
随机推荐
- CentOS6.5 本地源搭建Ceph
拓扑图 OS: CentOS X86_64,desktop -免密码登录 -修改/etc/sysconfig/network --hostname -修改/etc/hosts/ -关闭iptabl ...
- Django migrations 重命名
1:如果migrations文件中想要重命名文件,重命名后有一次修改models文件,再次执行python makegirations ******,再次执行migrate的时候发现报错了,在我往后的 ...
- javaScript对文字按照拼音排序
<title>JavaScript对文字按照拼音排序</title> <SCRIPT type="text/javascript"> funct ...
- Hibernate <查询缓存>
查询缓存: 定义:查询缓存它是基于二级缓存的,可以保存普通属性查询的结果,查询对象实体时,他会保存id作为键,查询结果作为值,下个对象访问时,可以直接查到 查询缓存查询实体对象时,显著的特点是,会执行 ...
- SQL*Loader实验笔记【二】
所有SQL*Loader实验笔记 实验案例总结(1-7): SQL*Loader实验笔记[一] 实验案例总结(8-13): SQL*Loader实验笔记[二] 实验案例总结(14-19 ...
- Beautiful 疑问小记
一.获取id和class的text() html = urlopen(real_url) bsObj = BeautifulSoup(html) h1 = bsObj.h1.get_text() co ...
- zoj3228Searching the String(ac自动机)
链接 这个题把病毒分为了两种,一种包含可以覆盖,另一种不可以,需要分别求出包含他们的个数,可以把两种都建在一颗tire树上,在最后求得时候判断一下当前节点是属于哪种字符串,如果是不包含的需要判断一下p ...
- MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)
前面讲了模态对话框和非模态对话框,本节来将一种特殊的对话框--属性页对话框. 属性页对话框的分类 属性页对话框想必大家并不陌生,XP系统中桌面右键点属性,弹出的就是属性页对话框,它通过标签切换各个页面 ...
- 【转载】CSS 伪类-:before和:after
:before和:after的作用就是在指定的元素内容(而不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素,最基本的用法如下: #example:before { conte ...
- Spring <bean> 参数意义
1.id bean的唯一标识, 2.class 类的完全限定名, 3.parent 父类bean定义的名字. 如果没有任何声明,会使用父bean,但是也可以重写父类.重写父类时,子bean 必须与父b ...