D3 发布 5.0 版本

  • Dylan Schiemann
  • 张健欣

2018 年 4 月 18 日

话题:JavaScript语言 & 开发架构

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

D3 团队发布了 5.0 版本,引入了一些比较新的异步模式,例如 promises 和 fetch,并更新了一些关键的可视化 API。据 D3 团队所述:

随着对 promises 的采用,D3 现在使用Fetch API而不是 XMLHttpRequest:d3-request 模块被d3-fetch模块取代。Fetch 支持许多功能强大的新功能,例如流式响应

这次发版比较侧重稳定性,不会对用户造成太大的改动。D3 创始人 Mike Bostick 在 Twitter 上说

D3 的 API 从 4.0 版本开始就已经非常稳定。这次发版唯一的显著变动是采用了现代的异步模式,例如 promises 和 Fetch。

D3 5.0 版本改变了其分类配色方案。先前的 d3.schemaCategory20* 方案不太正确,因为其分组设计可能错误地暗示数据之间的关系,相同的色调可能暗示数据同属于一个组但其实这些数据并不属于同一个组。在 D3 5.0 版本,用d3-scale-chromatic取代了分类配色方案,实现了 ColorBrewer 的配色方案。

新的d3-contour包提供了 marching squares 算法和密度估计(density estimation)算法的实现,使得基于轮廓数据的新的数据可视化类型成为可能。这里有一个例子,展示了黄石公园(Old Faithful)的空闲和喷水时间

D3 还优化了d3-selection的一部分方法,用于插入选中对象的克隆的 selection.clone,以及用于创建独立元素的 d3.create。

D3 新的多面体投影项目的地理投影 API 现在支持 projection.angle。

D3 5.0 版本总体上增加了一些数据可视化形式,优化了一些常用 API 的方案, 

使 API 与 JavaScript 最新的改进和模式保持一致。

D3 遵循新的 BSD 许可协议。在D3 官网可以了解更多信息。欢迎到D3 GitHub 项目贡献代码。

查看英文原文:D3 Announces 5.0 Release of SVG, Canvas, and HTML Library for Manipulating Data

JavaScript语言 & 开发架构