IT资讯 D3.js 6.0 稳定版发布,数据可视化 JavaScript 库

aiden · 2020-09-01 09:00:06 · 热度: 29

D3(或者叫 D3.js)6.0 稳定版已发布,距上个大版本 5.0 更新已过去两年多。

主要变化

D3 6.0 引入了部分不向后兼容的变化。

d3-array 现在使用原生集合(Map and Set)来代替对象字典,并且支持接受任何可迭代项(for-of)而不仅仅是数组。d3.group 和 d3.rollup 目前是强大的新聚合函数,它们取代了 d3.nest,并且与 d3-hierarchy 和 d3-selection 形成良好的搭配使用。此外还有很多新的数组辅助工具,比如 d3.greatestd3.quickselect 和 d3.fsum

d3-selection 现在直接将事件传递给事件监听器,取代了 d3.event global,使 D3 与 vanilla JavaScript 和大多数其他框架保持一致。

d3-delaunay 取代了 d3-voronoi,极大地提高了性能和健壮性,它还支持快速搜索。此外还引入了新的 d3-geo-voronoi,适用于球形(地理)数据。

d3-random 得到了极大的扩展,并包含了一个用于种子随机性的快速线性同余生成器。

d3-chord 为和弦图提供了新的布局。

d3-scale 增加了一个新的 radial scale 类型。

......以及其他各种小的改进和新的改进例子


d3-selection 使用新的事件管理器:

  • d3.event → (event) 作为第一个参数传递给所有监听者 [details]
  • d3.mouse, d3.touch, d3.touches, d3.clientPoint → d3.pointer [details]

d3-brushd3-drag 和 d3-zoom 同样使用了新的事件管理器:

  • brush.on 监视器现在可以接收事件 [details]
  • drag.on 监视器现在可以接收事件 [details]
  • zoom.on 监视器现在可以接收事件 [details]

d3-voronoi 已被弃用,并被 d3-delaunay 取代:

  • d3.voronoi → d3.Delaunay [details]

d3-collection 已被弃用,其方法已被取代:

  • d3.nest → d3.group and d3.rollup (from d3-array) [details]
  • d3.map → Map [details]
  • d3.set → Set [details]
  • d3.keys → Object.keys [details]
  • d3.values → Object.values [details]
  • d3.entries → Object.entries [details]

d3-array 已移除两个方法:

  • d3.histogram → d3.bin [details]
  • d3.scan → d3.leastIndex [details]

d3-interpolate 的补充方法包含一个破坏兼容性的变更:

  • d3.interpolateTransformCss 现在的输入更严格 [details]

d3-format 改变了其减号的显示方式:

  • 负值的默认符号变成了 unicode 减号,而不是连字符减号[details]

最后,D3 放弃了对 Bower 的支持,现在只发布到 npm 和 GitHub。

D3 采用了 ES2015,因此现在需要一个支持 ES2015 的浏览器方可使用。对于旧的浏览器,必须自带解释器,详情查看迁移指南

D3 是数据可视化领域重要的 JavaScript 可视化库,它将强大的可视化交互技术与数据驱动 DOM 方法结合起来, 让你可以充分使用现代浏览器的强大能力自由地对数据进行可视化,在学术界、专业团队中享有极大声誉。

D3 正如其名,Data Driven Documents 数据驱动文档,它与 G2 、Echarts 等不同,更加接近底层,直接操作 SVG 元素,拥有更大的自由度,几乎可以实现所有的 2D 设计需求,同时也带来了高学习曲线的成本。D3 长于可视化,但不止于可视化,还提供了数据处理、数据分析、DOM 操作等诸多功能。

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册