描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115497871
本书首先介绍了基本的D3结构和构建块,讲解了如何编写符合D3风格的JavaScript代码。接着阐释了如何使用选集来定位页面上的视觉元素,而后详述了通过编程方式和视觉方式表示数据的各种技术。同时,本书还将教会读者在可视化过程中使用尺度将数据域中的值映射至可视域,并使用D3支持的各种形状函数来创建SVG形状。
此外,读者还可以在可视化过程中利用各种“力”——这是该领域中*激动人心的技术之一,并通过D3实现功能完善的等值区域图。*后,读者将学习如何在数据可视化项目中利用单元测试和测试驱动开发来生成高品质的D3代码。
本书的主要内容:
深入了解D3基础知识和惯用语法;
使用D3加载、处理数据并将其映射为网页支持的各种图形;
创建数据驱动的动态图形,使其随着数据的变化而动态更新;
利用D3提供的各种布局来创建精致、动态和交互式的图表和图形;
在可视化项目中创建数据驱动的过渡和动画;
理解和利用更多高级概念,如力、触摸和地理数据可视化。
本书共13章,从如何搭建D3.js的开发环境开始,逐步介绍D3中的各种操作,其中包括选集、数据的初步处理、数据映射、坐标轴组件、动画过渡效果、SVG相关介绍、绘制图表、安排布局、可视化交互、力学模拟、制作地图和测试驱动。为了帮助读者理解这些丰富的概念,本书提供了大量的示例和代码。*后,在附录部分,为读者介绍了另外两个JavaScript库,主要是关于三维制图和多维图表的。
如果读者是一名熟悉HTML、CSS、JavaScript的开发人员或架构师,并且希望了解D3的大部分知识,那么本书将非常合适。本书还可作为资深的D3数据可视化程序开发人员的快速参考指南。
1.1 简介 1
1.2 搭建简易的D3开发环境 2
1.2.1 准备工作 2
1.2.2 搭建环境 2
1.2.3 工作原理 3
1.2.4 更多内容 4
1.3 搭建基于NPM的D3开发环境 5
1.3.1 准备工作 5
1.3.2 搭建环境 5
1.3.3 工作原理 6
1.3.4 更多内容 7
1.4 理解D3风格的函数式JavaScript编程 9
1.4.1 准备工作 9
1.4.2 开始编程 9
1.4.3 工作原理 11
1.4.4 更多内容 15
第 2章 精挑细选 17
2.1 简介 17
2.1.1 选集入门 17
2.1.2 CSS3选择器入门 18
2.2 选取单个元素 19
2.2.1 准备工作 20
2.2.2 开始编程 20
2.2.3 工作原理 20
2.3 选取多个元素 22
2.3.1 准备工作 22
2.3.2 开始编程 22
2.3.3 工作原理 23
2.4 迭代选集中的元素 23
2.4.1 准备工作 24
2.4.2 开始编程 24
2.4.3 工作原理 24
2.5 使用子选择器 26
2.5.1 准备工作 26
2.5.2 开始编程 26
2.5.3 工作原理 27
2.6 函数级联调用 28
2.6.1 准备工作 29
2.6.2 开始编程 29
2.6.3 工作原理 30
2.7 处理原始选集 30
2.7.1 准备工作 31
2.7.2 开始编程 31
2.7.3 工作原理 32
第3章 与数据同行 34
3.1 简介 34
3.2 将数组绑定为数据 38
3.2.1 准备工作 38
3.2.2 开始编程 39
3.2.3 工作原理 40
3.3 将对象字面量绑定为数据 43
3.3.1 准备工作 43
3.3.2 开始编程 43
3.3.3 工作原理 45
3.4 将函数绑定为数据 46
3.4.1 准备工作 47
3.4.2 开始编程 47
3.4.3 工作原理 48
3.5 数组的处理 50
3.5.1 准备工作 50
3.5.2 开始编程 50
3.5.3 工作原理 52
3.6 数据的过滤 53
3.6.1 准备工作 53
3.6.2 开始编程 54
3.6.3 工作原理 56
3.7 基于数据的图形排序 56
3.7.1 准备工作 57
3.7.2 开始编程 57
3.7.3 工作原理 59
3.8 从服务器加载数据 59
3.8.1 准备工作 60
3.8.2 开始编程 60
3.8.3 工作原理 61
3.9 利用队列异步加载数据 62
3.9.1 准备工作 63
3.9.2 开始编程 63
3.9.3 工作原理 64
第4章 张弛有“度” 66
4.1 简介 66
4.2 使用连续尺度 68
4.2.1 准备工作 68
4.2.2 开始编程 68
4.2.3 工作原理 70
4.3 使用时间尺度 73
4.3.1 准备工作 73
4.3.2 开始编程 73
4.3.3 工作原理 74
4.3.4 更多内容 75
4.3.5 参考阅读 76
4.4 使用有序尺度 76
4.4.1 准备工作 77
4.4.2 开始编程 77
4.4.3 工作原理 79
4.5 字符串插值 80
4.5.1 插值器 80
4.5.2 准备工作 81
4.5.3 开始编程 81
4.5.4 工作原理 82
4.5.5 更多内容 84
4.6 颜色插值 84
4.6.1 准备工作 84
4.6.2 开始编程 84
4.6.3 工作原理 86
4.6.4 参考阅读 87
4.7 复合对象插值 87
4.7.1 准备工作 87
4.7.2 开始编程 87
4.7.3 工作原理 89
第5章 玩转坐标轴 91
5.1 简介 91
5.2 坐标轴基础 91
5.2.1 准备工作 92
5.2.2 开始编程 92
5.2.3 工作原理 94
5.3 自定义刻度 97
5.3.1 准备工作 98
5.3.2 开始编程 98
5.3.3 工作原理 99
5.4 绘制表格线 99
5.4.1 准备工作 100
5.4.2 开始编程 100
5.4.3 工作原理 102
5.5 动态调节坐标轴尺度 104
5.5.1 准备工作 104
5.5.2 开始编程 105
5.5.3 工作原理 107
第6章 优雅变换 108
6.1 简介 108
6.2 单元素动画 109
6.2.1 准备工作 109
6.2.2 开始编程 110
6.2.3 工作原理 110
6.3 多元素动画 111
6.3.1 准备工作 112
6.3.2 开始编程 112
6.3.3 工作原理 114
6.4 使用缓动函数 117
6.4.1 准备工作 117
6.4.2 开始编程 117
6.4.3 工作原理 119
6.5 使用中间帧计算 121
6.5.1 准备工作 121
6.5.2 开始编程 121
6.5.3 工作原理 122
6.5.4 更多内容 124
6.6 使用级联过渡 125
6.6.1 准备工作 125
6.6.2 开始编程 125
6.6.3 工作原理 126
6.7 使用选择性过渡 127
6.7.1 准备工作 127
6.7.2 开始编程 127
6.7.3 工作原理 128
6.7.4 参考阅读 129
6.8 监听过渡事件 129
6.8.1 准备工作 129
6.8.2 开始编程 129
6.8.3 工作原理 130
6.9 使用定时器 131
6.9.1 准备工作 131
6.9.2 开始编程 131
6.9.3 工作原理 133
6.9.4 参考阅读 133
第7章 形状之美 134
7.1 简介 134
7.2 创建简单形状 136
7.2.1 准备工作 136
7.2.2 开始编程 136
7.2.3 工作原理 137
7.2.4 更多内容 138
7.3 使用线条生成器 139
7.3.1 准备工作 139
7.3.2 开始编程 139
7.3.3 工作原理 141
7.3.4 参考阅读 143
7.4 使用曲线 143
7.4.1 准备工作 143
7.4.2 开始编程 143
7.4.3 工作原理 146
7.4.4 参考阅读 147
7.5 更改线条的张力 147
7.5.1 准备工作 147
7.5.2 开始编程 147
7.5.3 工作原理 150
7.6 使用区域生成器 150
7.6.1 准备工作 150
7.6.2 开始编程 150
7.6.3 工作原理 152
7.7 使用断面曲线 154
7.7.1 准备工作 154
7.7.2 开始编程 154
7.7.3 工作原理 156
7.7.4 更多内容 157
7.7.5 参考阅读 157
7.8 使用圆弧生成器 157
7.8.1 准备工作 157
7.8.2 开始编程 157
7.8.3 工作原理 159
7.8.4 参考阅读 160
7.9 实现圆弧过渡 161
7.9.1 准备工作 161
7.9.2 开始编程 161
7.9.3 工作原理 163
7.9.4 更多内容 165
7.9.5 参考阅读 165
第8章 图表美化 166
8.1 简介 166
8.2 创建线图 168
8.2.1 准备工作 168
8.2.2 开始编程 169
8.2.3 工作原理 170
8.3 创建面积图 175
8.3.1 准备工作 175
8.3.2 开始编程 176
8.3.3 工作原理 178
8.4 创建散点图 179
8.4.1 准备工作 179
8.4.2 开始编程 179
8.4.3 工作原理 181
8.5 创建气泡图 183
8.5.1 准备工作 183
8.5.2 开始编程 183
8.5.3 工作原理 185
8.6 创建条形图 186
8.6.1 准备工作 187
8.6.2 开始编程 187
8.6.3 工作原理 189
第9章 井然有序 191
9.1 简介 191
9.2 创建饼图 192
9.2.1 准备工作 192
9.2.2 开始编程 192
9.2.3 工作原理 195
9.2.4 更多内容 197
9.2.5 参考阅读 197
9.3 创建堆叠式面积图 198
9.3.1 准备工作 198
9.3.2 开始编程 198
9.3.3 工作原理 200
9.3.4 更多内容 202
9.3.5 参考阅读 204
9.4 创建矩形式树状结构图 204
9.4.1 准备工作 205
9.4.2 开始编程 206
9.4.3 工作原理 207
9.4.4 参考阅读 211
9.5 创建树 211
9.5.1 准备工作 212
9.5.2 开始编程 212
9.5.3 工作原理 214
9.5.4 参考阅读 220
9.6 创建封闭图 220
9.6.1 准备工作 221
9.6.2 开始编程 221
9.6.3 工作原理 223
9.6.4 参考阅读 225
第 10章 可视化交互 226
10.1 简介 226
10.2 鼠标交互 227
10.2.1 准备工作 227
10.2.2 开始编程 227
10.2.3 工作原理 229
10.2.4 更多内容 230
10.2.5 参考阅读 230
10.3 多点触摸设备交互 230
10.3.1 准备工作 231
10.3.2 开始编程 231
10.3.3 工作原理 233
10.3.4 更多内容 235
10.3.5 参考阅读 236
10.4 缩放和平移行为的实现 236
10.4.1 准备工作 236
10.4.2 开始编程 236
10.4.3 工作原理 239
10.4.4 更多内容 240
10.4.5 参考阅读 240
10.5 拖曳行为的实现 241
10.5.1 准备工作 241
10.5.2 开始编程 241
10.5.3 工作原理 243
10.5.4 更多内容 244
10.5.5 参考阅读 244
第 11章 使用“原力” 245
11.1 简介 245
11.2 使用引力和相互作用力 246
11.2.1 准备工作 246
11.2.2 开始编程 246
11.2.3 工作原理 249
11.2.4 参考阅读 255
11.3 自定义速度 255
11.3.1 准备工作 255
11.3.2 开始编程 255
11.3.3 工作原理 257
11.3.4 参考阅读 258
11.4 设置连接约束 259
11.4.1 准备工作 259
11.4.2 开始编程 259
11.4.3 工作原理 263
11.4.4 参考阅读 268
11.5 借助力来辅助可视化 268
11.5.1 准备工作 268
11.5.2 开始编程 268
11.5.3 工作原理 271
11.5.4 参考阅读 272
11.6 操作“力” 272
11.6.1 准备工作 273
11.6.2 开始编程 273
11.6.3 工作原理 276
11.6.4 参考阅读 278
11.7 创建力导向图 278
11.7.1 准备工作 278
11.7.2 开始编程 278
11.7.3 工作原理 280
11.7.4 参考阅读 282
第 12章 地图的奥秘 283
12.1 简介 283
12.2 美国地图的投影 283
12.2.1 GeoJSON 283
12.2.2 准备工作 285
12.2.3 开始编程 285
12.2.4 工作原理 287
12.2.5 参考阅读 288
12.3 等值区域图的构建 288
12.3.1 准备工作 289
12.3.2 开始编程 289
12.3.3 工作原理 291
12.3.4 参考阅读 291
第 13章 测试驱动 292
13.1 简介 292
13.2 下载Jasmine并搭建测试环境 293
13.2.1 准备工作 293
13.2.2 开始编程 294
13.2.3 工作原理 295
13.2.4 参考阅读 295
13.3 测试驱动—创建图表 295
13.3.1 准备工作 296
13.3.2 开始编程 296
13.3.3 工作原理 297
13.4 测试驱动—SVG渲染 298
13.4.1 准备工作 298
13.4.2 开始编程 298
13.4.3 工作原理 299
13.5 测试驱动—精确渲染 300
13.5.1 准备工作 300
13.5.2 开始编程 300
13.5.3 工作原理 302
13.5.4 参考阅读 303
附录 分分钟搞定交互式分析 304
简介 304
Crossfilter.js库 304
多维图表库—dc.js 308
评论
还没有评论。