前端数据可视化插件有很多,但我用过的只有Highcharts(https://www.hcharts.cn/)、Echarts(http://echarts.baidu.com/)和D3(https://d3js.org/),

Web开发过程中选择使用哪一个插件是很重要的问题。就我个人而言,一般会从以下几点考虑。
 

1.兼容性

使用一个插件之前必须要先评估一下它对浏览器的兼容性,不然写完了发现没法儿用就得不偿失了。
经过多次尝试,我初步判断这三个插件的兼容性是这样的:
  1. Highcharts 兼容 IE6 及以上的所有主流浏览器,完美支持移动端缩放、手势操作。
  2. Echarts 兼容 IE6 及以上的所有主流浏览器,同样支持移动端的缩放和手势操作。
  3. D3 兼容IE9 及以上的所有主流浏览器,对于移动端的兼容性也同上。
 
也就是说,这三个插件都兼容IE9及以上的所有主流浏览器,但如果开发需求中包括IE7/IE8,那么就只能选择Highcharts或者Echarts了。
 

2.是否免费/开源

  1. Highcharts 非商业免费,商业需授权,代码开源。
  2. Echarts 完全免费,代码开源。
  3. D3 完全免费,代码开源。
 
考虑到Highcharts用于商业用途时还需要授权,而其它两个都不需要,那么在其他条件都相同的情况下,可以考虑用另外两个插件。
 

3.难易程度

  1. Highcharts 基于SVG,方便自己定制,但图表类型有限。
  2. Echarts 基于Canvas,适用于数据量比较大的情况。
  3. D3.v3 基于SVG,方便自己定制;D3.v4支持Canvas+SVG,如果计算比较密集,也可以选择用Canvas。除此之外,D3图表类型非常丰富,几乎可以满足所有开发需求,但代码相对于以上两个插件来说,会稍微难一点。

  基于此,如果你能力很强,可以直接用D3。反之,如果你是一个初学者或者对于这方面没那么熟悉,那么就要从这几点来考虑了:如果数据量比较大,可以考虑Echarts;如果只是一些简单的数据,且客户对界面定制较多,则可以考虑使用highcharts;如果前两者都不能满足需求,那么就只能用D3来一点一点做了。

一般:

  1、开发时间短,所以也就限制了D3.js的使用。

  2、要尽量的减少开发的成本,所以也就不能使用hightcharts.js(hightcharts是一款个人免费,商业付费的框架)。所以在再三的比对之下最终选择了echarts.js

最新文章

  1. Day 6
  2. windows服务控制类
  3. BestCoder Round #68 (div.2) 1002 tree
  4. mstsc 终端服务器超出了最大允许连接的解决办法
  5. CSS里的 no-repeat 是什么意思
  6. Servlet 浅谈(三)
  7. cython教程
  8. Excel 菜单系统
  9. poj 3070 Fibonacci (矩阵快速幂乘/模板)
  10. #define和typedef在windows上的应用
  11. vue入坑总结
  12. mongodb 集群分片
  13. iOS中NSTimer的invalidate调用之后
  14. CentOS 7 搭建Jumpserver跳板机(堡垒机)
  15. Laravel线上布暑到linux的问题汇总
  16. 在WindowsPhone开发中使用MVVM设计模式
  17. printf 中的 %.*s
  18. POJ 3614 Sunscreen (优先队列)
  19. DAY27.XIA.面向對象
  20. zookeeper 单机集成部署

热门文章

  1. Java--会移动、反弹的球
  2. Spring源码由浅入深系列五 GetBean
  3. 极限学习机(Extreme Learning Machine)学习笔记
  4. POJ 4718 /// 树链剖分+线段树区间合并 求树上两点间的LCIS长度
  5. BZOJ2152 聪明可可 点分治
  6. 【bug】vue同一组件使用
  7. 数据库MySQL--修改数据表
  8. vue3环境搭建以及创建简单项目。
  9. 关于jquery.validate.js的用法
  10. js面试总结2