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
转自 http://www.infoq.com/cn/news/2018/04/d3-releases-5-async