数据可视化工具库D3.js简介

1,005 阅读1分钟

从2015年开始使用D3.js,已经快五年了。在自定义图形类(力学图、拓扑图、平行坐标系、树图等涉及数学几何知识较多的领域),D3.js无出其右。百度的echarts和阿里的AntV个别图形其实也借鉴了D3的一些优秀示例,但是其算法和使用流畅度远不如D3。 比如:

echarts示例

D3示例

最开始的时候,D3只支持SVG绘图,因此在绘制数据量较大的节点不得不使用echarts,但后来D3支持canvas功能,在绘制较大数据量的图形时,仍然可以使用D3。

GitHub上,D3有着近10万的Star关注数,但是D3在国内的使用普及率并不高,一方面D3涉及到非常多的数学概念,比如墨卡托投影、韦尔莱积分法、模拟退火等相关基础知识,这些造成了一定的认知门槛。另一方面D3的文档并不友好,官方只是提供了大量的使用实例。但是如果熟悉了D3之后,D3就会变得非常好用,其提供了非常高效率的绘图方法让数据可视化变得简单。

D3支持模块化,比如你只需要使用D3中的某一个功能,可以使用:

import {scaleLinear} from "d3-scale";

或者引入D3所有功能

import * as d3 from "d3";

更多丰富的实例请看:

observablehq

自动计价器

阿基米德螺线