引言

本系列的 notebooks 将指导你完成使用 D3.js 的第一步。
image.png
D3 的 logo 是用圆圈和垂线画的。

在我们开始之前,有必要简单考虑一下:为什么要学习 D3?为什么要在这里学习 Observable?

首先,D3 很受欢迎(8000 万次下载量和 9 万颗星星),所以你有很多好伙伴。有许多社区开发的资源,包括教程、视频、课程和书籍。D3团队已经发布了数百个自己的例子和教程,以提高你的学习和生产力。

另一方面,D3 是灵活的。D3 的超能力是你可以做任何你想做的事情——创作自由!D3 图库是一个真正的动物园的形式:树状图分层边缘捆绑桑基图密度轮廓力导向图,等等。(还有近百个地图投影!)这种灵活性源于 D3 的低级方法,主要关注可组合的源语,如形状和比例,而不是可配置的图表。D3 没有任何约束,所以你可以使用现代浏览器支持的所有附加功能。

D3 以动画和交互著称。如果你有几分钟的时间,可以看一场柱状图比赛或一个动态树图。深入到一个分层柱状图可折叠的树形图,或可缩放的日射可缩放的树形图,或可伸缩的填充圆。或者绘制散点图矩阵或放大到区域图中。动画可以是讲故事的强大工具,而互动可以让活跃的读者去探索。

当然,这种能力是有代价的。有很多要学习:D3 有超过 30 个模块和1000个方法!D3 可能比那些专门用于探索可视化的工具(如 Vega-Lite)更加繁琐。

但这就是 Observable 出现的原因。

Observable 是学习 D3 的理想环境,因为它使用数据流简化了代码,就像电子表格一样。当你编辑时,单元格会自动运行以获得快速的反馈。你可以添加互动或动画几乎没有代码!随着课程的进行,我们将介绍 Observable 的怪癖和特性

Observable 以协作为中心,帮助你学习并回馈社区。超越复制粘贴。任何笔记本电脑可以分叉或进口。笔记本可以导出重复使用的组件,如彩色图例洗涤器。你可以对单元格进行注释,建议和合并更改,或者请求帮助。

足够的序曲。让我们揭开帷幕,第一眼看到 D3。