D3发布5.0版本:引入promises和fetch
极客时间编辑部
讲述:丁婵大小:1.27M时长:02:47
近日,D3(Data-Driven Documents)团队发布了 5.0 版本,引入了一些比较新的异步模式,例如 promises 和 fetch,并更新了一些关键的可视化 API。
据了解,D3 是一个用动态图形显示数据的 JavaScript 库,一个数据可视化的工具。基于 Web 层面,D3 通过操纵三类对象来达到数据驱动可视化展现的目的,分别是 SVG、Canvas 和 HTML 上的基本 DOM。
相比 4.0 版本大刀阔斧的自我革命式更新,包括整体代码模块化切分、多个二级 API 改动、采用 ES2015 modules 重写等等,5.0 版本更新的 feature 中只有少量向后不兼容的改动。
在 5.0 版本中,D3 开始采用 promises 而不是传统的异步回调来加载数据。 Promises 可以简化异步代码的结构,特别是在支持 async/await 用法的现代浏览器中。
随着 promises 在 D3 中的采用,D3 现在使用的是 Fetch API,而 d3-request 木块也被 d3-fetch 替代。同时,D3 5.0 也弃用并删除了 d3-queue 模块,开发者可以使用 Promise.all 来并行运行批量的异步任务,或者使用 p-queue 等辅助库来控制并发 。
另外,D3 5.0 版本改变了其分类配色方案。先前的方案不太正确,因为其分组设计可能错误地暗示数据之间的关系,相同的色调可能暗示数据同属于一个组,但其实这些数据并不属于同一个组。
取而代之的是,D3 现在包含一个库叫 d3-scale-chromatic ,它实现了 ColorBrewer 中的一些优秀的配色方案,包括分类、发散、连续单色以及连续多色等方案。这些方案既支持离散变量,同时也支持连续变量赋值。
现在 D3 提供了通过 d3-contour 来实现 marching squares 算法和密度估计的可视化效果,使得基于轮廓数据的新的数据可视化类型成为可能。
此外,D3 5.0 版本总体上增加了一些数据可视化形式,优化了一些常用 API 的方案, 使 API 与 JavaScript 最新的改进和模式保持一致。
最后,D3 的 package.json 文件不再引用从属于 D3 模块的精确版本号了,这解决了 D3 模块重复安装的问题。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论