上个月的项目,其中有一个模块用的是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,不得不点个赞啊。但是确实在使用的过程中也遇到了些问题,比如:

  1. 折线图的数据,在底部的点,鼠标移上去的浮窗有的文字会被挡住的问题;
  2. 一共有6个环形图,每一个环形图的浮窗的显示要求,有颜色的的文字显示,和剩下部分不一样;
  3. 环形图的头部固定显示“今日变化量XXX个”;
  4. 漏斗图中,带横线的数量显示文字挡住的问题;

  解决方案:

  1. 对于鼠标一上去,出现浮窗的部分文字被挡住,其实浮窗的位置定位,是根据鼠标的位置定位的,故如图
  2. 对于环形图的鼠标移上去浮窗显示,调试代码发现,每次触发的是一个tooltip中的formatter方法,当然trigger的参数是“item”,以数据触发,这样的话,formatter里面的参数是每个点的数据,于是,在formatter里面写个switch就解决了。
  3. 对于环形图上面的文字显示,本来是在data里面写itemStyle解决了,但是有个缺点是,当今日变化量比较大时,环形图上的文字显示其实是一直处于变化量中间的文字的,这样的话,高度就不统一了,本来打算用markPoint,后来发现用起来比自己写还麻烦,官方演示文档在这方面很少,于是,自己在echarts的头部手写部分固定的“今日变化量”显示,注意,一般要先隐藏这部分,先显示暂无数据,等数据请求加载过来后,再显示“今日变化量”和echarts。
  4. 对于漏斗图中显示文字挡住的问题,其实就是把整个漏斗图左移一点就够了。

浅谈对ECharts的使用的更多相关文章

  1. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  2. 浅谈 Fragment 生命周期

    版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...

  3. 浅谈 LayoutInflater

    浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...

  4. 浅谈Java的throw与throws

    转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...

  5. 浅谈SQL注入风险 - 一个Login拿下Server

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...

  6. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

  7. 浅谈angular2+ionic2

    浅谈angular2+ionic2   前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScript的区别.   1. 项目所用:angular2+ionic2 ...

  8. iOS开发之浅谈MVVM的架构设计与团队协作

    今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...

  9. Linux特殊符号浅谈

    Linux特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(?.!.~...)打交道,其实在Linux有其独特的含义,大致可以分为三类:Linux特殊符号.通配符.正则表达式. Linux特殊符号又可 ...

随机推荐

  1. 深入理解C++的动态绑定和静态绑定【转】

    转自:http://blog.csdn.net/chgaowei/article/details/6427731 为了支持c++的多态性,才用了动态绑定和静态绑定.理解他们的区别有助于更好的理解多态性 ...

  2. 16-underscore库(上)

    第16课 underscore库 一.介绍 Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象.他弥补了 ...

  3. [问题2014A09] 复旦高等代数 I(14级)每周一题(第十一教学周)

    [问题2014A09]  设 \(A,B\) 分别是 \(3\times 2\), \(2\times 3\) 矩阵且满足\[AB=\begin{bmatrix} 8 & 2 & -2 ...

  4. [问题2014S09] 复旦高等代数II(13级)每周一题(第九教学周)

    [问题2014S09]  证明: \(n\) 阶方阵 \(A\) 与所有的 \(A^m\,(m\geq 1)\) 都相似的充分必要条件是 \(A\) 的 Jordan 标准型为 \[\mathrm{d ...

  5. 我的android学习经历33

    在Activity中添加菜单 1.在res目录下新建文件夹menu 右击res,选择new->Folder,Folder name写为menu 2.在新建的menu目录下新建一个xml文件 右击 ...

  6. InfoObject共享

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. centos使用yum安装mysql

    参考:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 1.增加yum数据源 (1.1)从http://dev.mysql.com/dow ...

  8. Android学习简单总结

    1: 主要的view控件: 文字: TextView 图片: ImgView 视频:SurfaceView ... 2:控件 PopupWindow 实现类似左边导航栏 tabhost实现顶部或者下部 ...

  9. Android Studio常见问题 -- uses-sdk:minSdkVersion 8 cannot be smaller than version 9 declared in library

    问题描述 * What went wrong:Execution failed for task ':app:processDebugManifest'.> Manifest merger fa ...

  10. mybatis-config.xml简单笔记

    mybatis-config.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...