浅谈对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特殊符号又可 ...
随机推荐
- mac攻略(一) -- git使用
1.首先在官网下载 https://git-scm.com/download/mac 2.然后安装git(mac自带git) 3设置Git的user name和email: $ git c ...
- 使用vs2013打开vs2015项目
1.用记事本打开.sln,如图修改 2.用记事本打开.vcxproj文件,搜索:v140,修改为v120(有四个)
- linux 防火墙配置
vi /etc/sysconfig/iptables # Generated by iptables-save v1. :: *nat :PREROUTING ACCEPT [:] :POSTROUT ...
- Maven学习(四)-- 生命周期和插件
标签(空格分隔): 学习笔记 Maven生命周期是抽象的,不做任何实际的工作,在Maven的设计中,实际的任务都交由插件来完成. 每个构件步骤都可以绑定一个或者多个插件行为,而且Maven为大多数构建 ...
- 利用backtrace和objdump进行分析挂掉的程序
转自:http://blog.csdn.net/hanchaoman/article/details/5583457 汇编不懂,先把方法记下来. glibc为我们提供了此类能够dump栈内容的函数簇, ...
- js函数式编程
最近在看朴灵的<深入浅出nodejs>其中讲到函数式编程.理解记录下 高阶函数 比较常见,即将函数作为参数,或是将函数作为返回值得函数. 如ECMAScript5中提供的一些数组方法 fo ...
- js 过滤script
function stripscript(s) { return s.replace(/<script.*?>.*?<\/script>/ig, ''); } 稍微 ...
- json 后台传前台
jsonObject需实例化new.jsonObject=new JSONObject();jsonObject.put("goodslist", list);jsonObject ...
- UISlider
UISlider是iOS中的滑块控件 通常⽤于控制视频播放进度,控制⾳量等. 它继承于UIControl,滑块提供了⼀系列连续的值,滑块停 在不同的位置,获取到滑块上的值也不同. minimumV ...
- LazyLoad使用注意
今天使用ProgressHUD,进行网络请求后显示加载完成提示框,但是无效,检查以后发现数据源数组使用了懒加载,在调用数组之前调用ProgressHUD里的方法,根本无效啊!以后用懒加载注意.