我为什么选择 D3.js

D3不是你的菜? 看看另外的这些图表工具怎么样吧

[

](https://ruby-china-files.b0.upaiyun.com/photo/2013/1cf18a427e44e0f298699ed37ca95600.png)

这不是一篇介绍D3的使用教程,而是只想说说我为什么选择使用D3,借以思考在面对新的技术的时候我该如何选择。

这段时间我在录制一门课程网页上的图表。录制课程前我调查了一下,应该用哪些工具/库来制作图表。可以确定的是,我要用svg来生成图表,而不是用html5中的canvas。开始采用的是Raphaël,一个用来创建和操作网页上矢量图形的javascript库。最开始偏向于使用Raphaël是因为之前看到的一个很漂亮的页面。在费了几天的时间,经过了很多挫折和参考资料没找到太多的情况下,做出了一个凑合的简单的图表。然后我退缩了,直到我发现了D3

D3的缩写是Data Driven Documents,与Raphaël的关系:

相同点

不同点

选择D3可以从技术层面上来考虑:

另外我觉得让我选择D3的最重要的原因就是:她能给我带来一种创作的热情。

热情之一:庞大的用户基数

在github上目前的关注(star)人数已经超过了2万人,非常受欢迎的项目。github的图表也是使用D3来生成的。越来越多的网站开始使用D3,越来越多的数据可视化自由职业者开始涌现,越来越多的培训班专门培训D3.

热情之二:友好开放的社区

D3本身就是一个开源的库,这种开源的精神也形成了一种乐于分享的社区(这里这里)。使用D3的人有开发者,有设计师,还有艺术家,一个活跃而不停有思想火花碰撞的社区。D3的作者本人Mike Bostock也是一个很活跃的人,经常会写一些教程和非常好的实例。

热情之三:大量的资料

虽然D3比Raphaël的学习难度要大一些,但是D3拥有数以千计的实例,大量的教程,我很快的就作出了我想要的东西。

热情之四:美

当我使用D3时,我觉得我不但是一个coder,我还是一个艺术家,我是在创造一种美,给自己带来更大的热情。

你还在等什么,现在就开始你的D3之旅吧。