Learn D3 入门文档:Further Topics
引子
继 Learn D3: Interaction 最后一篇。
-
版本:Published Mar 24, 2020
正文
如果你从一开始就坚持这个教程,深呼吸,鼓励一下自己!🙌 你已经涵盖了很多领域,并对典型的可视化有了重要的了解。
但我们还没有到达顶峰!不,这只是大本营。
是时候向上看,看看未来会发生什么。🏔
干净的数据是有效数据可视化的先决条件。想要体验数据收集和清理,请阅读关于 Wikipedia 数据的教程。请参阅 d3 数组转换和聚合数据的方法,包括基本的汇总统计信息以及强大的 d3.group 和 d3.rollup 。另请参见 Harry Steven 对 d3 回归进行趋势和相关性的分析。对于数据聚合,考虑一维分组 (如直方图)、二维六边形、 密度轮廓估计。
我们之前提到过比例尺,但 d3 比例尺也提供了许多我们没有涉及的变换,如对数比例尺、幂比例尺、符号比例尺、量化比例尺和分位数比例尺(这是一个简洁的对数到线性比例的转换。)如果你选择适合你手头数据和问题的转换,你的可视化将更加有效!看看这篇关于比较的文章。
我们仅限于抽象表格数据,但 D3 也适用于其它类型的数据。对于网状数据,考虑弦图或力有向图。对于分层数据,d3-hierarchy 实现了几种流行的算法,包括 treemaps 和 tidy trees 。有关地图和地理空间可视化,请参见 d3-geo 。有关时间序列数据,请参见 d3-time 。
为了更好地控制数据的显示方式,D3 提供了格式化数字和日期的基本方法(在所需的语言环境中)。D3 实现了许多颜色空间和方案。
对于动画,探索 D3 的缓动方法、插值器和过渡。关于交互,请参见 D3 的可复用行为:图刷、缩放和拖动。
你也可以着手 Observable 各种特定主题。通过 promises、 generators、views 将 Observable 的数据流提升到下一个级别。使用失效 promise 在重新运行单元时释放资源,或使用可见性 promise 将单元的计算推迟到其可见为止。
别忘了沟通交流!在瞄准 Vega-Lite 时,这个关于图形标记和视觉编码通道的 U.W. 教程是对可视化基础的极好介绍。对可视化变量的思考也将帮助你在 D3 中设计更好的可视化效果。为了标记密度图,考虑 Voronoi heuristic 或 iterative optimization 。要显示颜色编码,使用颜色图例。
最后,不要孤军奋战。
我们希望你能在 Observable 上分享你的工作。实践者往往只在工作完成并经过润色后才分享工作,这会使实践看起来比必要的更吓人:错误,沿途丢弃的草稿,是看不见的。如果你乐于分享,Observable 是通过评论和建议(以及我们的论坛)获得反馈和帮助的好方法。
一如既往,谢谢你的阅读。🙏 请在 Twitter 上关注我们的更新,并将你的反馈发送给我们。我们还欢迎对本系列的未来添加内容提出建议。