| 作者: | Mike Dewar |
| 语言: | 英文 |
| 出版年份: | 2012 |
| 下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
Getting Started with D3 是 O'Reilly 2012 年出版的 D3.js 入门指南,作者 Mike Dewar(Bitly 数据科学家,爱丁堡大学与哥伦比亚大学博士后)。全书约 70 页,不是 D3.js 的完整参考手册,而是一本以纽约 MTA 公共交通数据为贯穿案例的轻量教程,教读者用 D3.js 将原始数据转化为交互式 Web 可视化图表。
全书以"从简单到复杂"的可视化进阶为主线。先建立 D3.js 的核心编程模式:数据绑定(selectAll-data-enter-append)、比例尺映射和 SVG 基础。然后逐步构建散点图、折线图、柱状图等常见图表。中间引入浏览器事件驱动的交互:点击筛选、鼠标悬停高亮和过渡动画。最后展示力导向网络图和堆叠直方图等高级可视化布局。
| 章节 | 核心主题 | 关键知识点 |
|---|---|---|
| 第1章 引言 | D3.js 概述与环境搭建 | D3 设计哲学、基本页面模板、d3.json 数据加载、MTA 数据集介绍、JSON 数据清洗(Micha 黄金法则)、Python SimpleHTTPServer 本地服务 |
| 第2章 Enter 选择集 | 数据绑定的核心模式 | selectAll-data-enter-append 惯用法、方法链式调用、数据依赖样式、用 div 标签构建水平柱状图、CSS 样式分离、浮动布局添加标签 |
| 第3章 比例尺、坐标轴与折线 | 数值到像素的映射 | SVG 基础入门、d3.extent 与线性比例尺、坐标轴构造器、时间比例尺、SVG transform 平移、路径生成器 d3.svg.line、散点图与时间序列图 |
| 第4章 交互与过渡 | 浏览器事件驱动的动态可视化 | click 与 mouseover 事件绑定、selection.empty 状态检测、selection.remove 元素移除、过渡动画与插值、延迟入场动画、each("end") 链式动画、MTA 官方配色 |
| 第5章 布局 | 高级可视化布局工具 | 力导向图 d3.layout.force(节点排斥、边约束、tick 事件、拖拽交互)、直方图布局 d3.layout.histogram(分箱与频率归一化)、堆叠布局 d3.layout.stack(y0 基线偏移) |
| 第6章 结语 | 回顾与进阶指引 | 全书知识点回顾、Mike Bostock 博客推荐、d3js.org 文档与示例库、d3-js 用户组与 Stack Overflow 社区 |
适合有 HTML/JavaScript 基础、想入门数据可视化的前端开发者与数据科学家。全书以真实数据集驱动,读者在动手实践中理解 D3.js 的设计哲学。需要基本的 JavaScript 编程能力,不适合完全零基础的读者。注意本书基于 D3 v2/v3,API 与 v4+ 存在差异,但核心概念保持稳定。
Getting Started with D3 是一本精准聚焦的入门指南,以纽约 MTA 真实数据贯穿全书,让读者在动手实践中逐步掌握 D3.js。虽然出版于 2012 年,D3.js 已从 v3 演进到 v7,API 有较大变化,但数据绑定模式(enter/update/exit)、比例尺映射、SVG 操作等核心概念保持稳定。如果你刚开始学 D3.js,本书仍是理解其核心理念的最佳入门读物之一。