JavaScript可视化库D3.js 4.0版本发布。虽然有些JavaScript库在主版本变化时不会有大的变化,但D3.js 4.0包含了大量的重写和重大的升级。
D3创建者Mike Bostock过去一整年都在开发4.0版本。他表示,D3的“受欢迎程度超出我的想象,我希望尽可能地把它开发好。”先前,Bostock曾在纽约时报工作过。在那里,他借助D3精心制作新闻故事,提供丰富的数据可视化,比如“最详细的中期选举地图”。
该库最大的变化是分解成了较小的模块。虽然开发人员仍然可以选择下载整个库,但也可以使用npm单独安装诸如d3-interpolate和d3-axis这样的组件。Bostock表示,新的模块化设计应该可以让协作变得更简单:
4.0版本模块化的其中一个目标就是让他人可以更容易地将新特性作为单独的库发布,他们可以使用D3,但不需要让它成为“核心”组成部分。再也没有“核心”D3,有的只是一个默认绑定。
该版本还带来了大量的新特性和Bug修复。例如,创建配色方案的新方法,比如基于ColorBrewer方案。新的d3-scale-chromatic可以从离散颜色集提供颜色,也可以从一个连续的范围提供颜色。
向函数d3.interpolateRdBu(t)传入一个介于0到1之间的t值,就会返回一个处于这个范围内的RGB十六进制字符串。
现在,4.0版本已经发布,Bostock将重点更新所有的示例和教程。完整的发布说明极为详尽,读来令人愉快。
D3的复杂是出了名的,很难上手和理解。其他图表库,如C3,通过抽象大量消除了D3的复杂性,但涵盖了许多开发人员的常见用例。不过,对于那些需要基于数据构建自定义可视化的开发人员而言,D3提供了非常强大的功能。