553 字
3 分钟
数据可视化选型对比

前言#

由于业务需求,先针对D3G2Echarts三个数据可视化解决方案通过如下维度对比

  • GitHub star 数、npm 下载量
  • demo 对比
  • 性能

npm 下载量总结#

npm 下载量 从上图发现,d3 的不论是下载量还是 star 数,亦或者是近期更新时间都是直接碾压其他两个;其次就是 Echarts;最后就是 G2

Demo 演示#

Echarts#

Echarts 上手简单,挂载 dom 后,写好配置信息对象(即 setOption 的参数,如果图表复杂,setOption 的参数对象就会越来越长,维护的时候,需要改某个配置项,可能寻找 key 的时间较麻烦,不过好在官网的配置文档的结构还是挺好的,还是挺不错的,如下:

G2#

学习成本会比 Echarts 要略高,设计理念更加具有学术性;但是语义化更加清晰,提供了一套图形语法,显得更加灵活,能够很轻松地随意组合和切换不同类型的图表切换,同时也更易复用代码,更易封装。

D3#

学习成本极高,更接近底层,因为它能直接操作 svg,自由度也就因此极大,只要是 2d 图表,几乎都可以做到,但上诉两种则不一定,也就意味着,作品的质量不局限于技术,而更多的是靠想象力!

性能对比#

测试方法:简单粗暴,根据不同数量级,利用 Chorme 的 performance 去测试,以下是测试结果,每种均取 10 次的平均值,单位为 ms

数据量EchartsG2D3
1k221.29230.5671.53
10k366.69314.67136.17
100k989.33849.68343.23
1M2979.702052.721140.87

总结#

选型社区学习成本性能
Echarts社区丰富,资源多,api 文档完善易上手,定制自定义图标组件稍麻烦一般
G2由蚂蚁团队维护,GitHub 社区也有人互动,文档也较详细微高,但更具有语义化,灵活度更高,可定制化一般的图表组件较好
D3历史悠久,GitHub 中 issue 也挺多,但文档查阅较麻烦极高,但灵活度也极高,理论上可随意定制化任何包括但不限于图表组件,还能做更多的 2d 图形
数据可视化选型对比
https://www.hzhi.top/posts/data-visualization/
作者
Jim的独立博客
发布于
2023-07-08
许可协议
CC BY-NC-SA 4.0