D3.js數據可視化實戰手冊

D3.js數據可視化實戰手冊

《D3.js數據可視化實戰手冊》是2014年9月1日人民郵電出版社出版的圖書,作者是朱啟 (Nick Qi Zhu)。

基本介紹

  • 中文名:D3.js數據可視化實戰手冊
  • 作者:朱啟 (Nick Qi Zhu)
  • 譯者:楊銳
  • 出版社:人民郵電出版社
  • 出版時間:2014年9月1日
  • 頁數:294 頁
  • 開本:16 開
  • ISBN:7115360960
  • 外文名:Data Visualization with D3.js Cookbook
  • 語種:簡體中文
內容簡介,圖書目錄,作者簡介,編輯推薦,媒體推薦,

內容簡介

如今這個網際網路時代,人們每天都生產海量的數據,如果直接面對這些數據,可能讓人無從下手。將數據可視化,用形象立體的形式將其展現,有利於分析其中的關聯,攫取可能存在的商業機會。《D3.js數據可視化實戰手冊》意圖通過大量的示例和代碼,向讀者講述如何利用D3.js來實現數據可視化。只要讀者了解JavaScript,就能完全掌握本書的內容。 《D3.js數據可視化實戰手冊》一共13章,從如何搭建D3.js的開發環境開始,逐步介紹D3中的各種操作,包括選集、數據的初步處理、數據映射、坐標軸組件、動畫過渡效果、SVG相關介紹、繪製圖表、安排布局、可視化互動、力學模擬、製作地圖和測試驅動。《D3.js數據可視化實戰手冊》包含有大量的示例和代碼,可以幫助讀者充分理解書中講述的每一個概念。《D3.js數據可視化實戰手冊》最後的附錄部分,介紹了另外兩個JavaScript庫,主要是關於三維製圖和多維圖表的。希望本書的內容能對讀者理解和學習數據可視化有所幫助。

圖書目錄

第1章 D3.js入門指南 1
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的開發環境 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 工作原理 10
1.4.4 更多內容 14
第2章 精挑細選 16
2.1 簡介 16
2.2 選擇單個元素 18
2.2.1 準備階段 18
2.2.2 開始編程 18
2.2.3 工作原理 18
2.3 選取多個元素 20
2.3.1 準備階段 20
2.3.2 開始編程 21
2.3.3 工作原理 21
2.4 疊代選集中的元素 21
2.4.1 準備階段 21
2.4.2 開始編程 22
2.4.3 工作原理 22
2.5 使用子選擇器 23
2.5.1 準備階段 23
2.5.2 開始編程 24
2.5.3 工作原理 24
2.6 函式級聯調用 26
2.6.1 準備階段 26
2.6.2 開始編程 26
2.6.3 工作原理 27
2.7 處理原始選集 28
2.7.1 準備階段 28
2.7.2 開始編程 28
2.7.3 工作原理 29
第3章 與數據同行 31
3.1 簡介 31
3.2 將數組綁定為數據 34
3.2.1 準備階段 34
3.2.2 開始編程 34
3.2.3 工作原理 35
3.3 將對象字面量綁定為數據 39
3.3.1 準備階段 39
3.3.2 開始編程 39
3.3.3 工作原理 41
3.4 將函式綁定為數據 42
3.4.1 準備階段 42
3.4.2 開始編程 42
3.4.3 工作原理 44
3.5 如何處理數組 46
3.5.1 準備階段 46
3.5.2 開始編程 46
3.5.3 工作原理 48
3.6 數據的過濾 50
3.6.1 準備階段 50
3.6.2 開始編程 50
3.6.3 工作原理 52
3.7 基於數據的圖形排序 53
3.7.1 準備階段 53
3.7.2 開始編程 53
3.7.3 工作原理 55
3.8 從伺服器載入數據 56
3.8.1 準備階段 56
3.8.2 開始編程 57
3.8.3 工作原理 59
第4章 張弛有“度” 60
4.1 介紹 60
4.2 使用數值尺度 62
4.2.1 準備階段 62
4.2.2 開始編程 62
4.2.3 工作原理 64
4.2.4 更多內容 66
4.3 使用時間尺度 66
4.3.1 準備階段 67
4.3.2 開始編程 67
4.3.3 工作原理 68
4.3.4 更多內容 69
4.3.5 請參見 70
4.4 使用有序尺度 70
4.4.1 準備階段 70
4.4.2 開始編程 71
4.4.3 工作原理 72
4.5 字元串插值 74
4.5.1 插值器 74
4.5.2 準備階段 75
4.5.3 開始編程 75
4.5.4 工作原理 76
4.5.5 更多內容 77
4.6 顏色插值 77
4.6.1 準備階段 77
4.6.2 開始編程 77
4.6.3 工作原理 79
4.6.4 請參見 80
4.7 複合對象插值 80
4.7.1 準備階段 80
4.7.2 開始編程 80
4.7.3 工作原理 82
4.8 實現自定義插值器 83
4.8.1 準備階段 83
4.8.2 開始編程 83
4.8.3 工作原理 85
4.8.4 請參見 88
第5章 玩轉坐標軸 89
5.1 簡介 89
5.2 坐標軸基礎 89
5.2.1 準備階段 89
5.2.2 開始編程 90
5.2.3 工作原理 92
5.3 自定義刻度 95
5.3.1 準備階段 95
5.3.2 開始編程 95
5.3.3 工作原理 96
5.4 繪製表格線 97
5.4.1 準備階段 97
5.4.2 開始編程 97
5.4.3 工作原理 99
5.5 動態調節坐標軸尺度 101
5.5.1 準備階段 101
5.5.2 開始編程 102
5.5.3 工作原理 104
第6章 優雅變換 106
6.1 簡介 106
6.2 單元素動畫效果 107
6.2.1 準備階段 107
6.2.2 開始編程 108
6.2.3 工作原理 108
6.3 多元素動畫 109
6.3.1 準備階段 110
6.3.2 開始編程 110
6.3.3 工作原理 112
6.4 使用緩動函式 115
6.4.1 準備階段 115
6.4.2 開始編程 115
6.4.3 工作原理 117
6.5 使用中間幀計算 118
6.5.1 準備階段 119
6.5.2 開始編程 119
6.5.3 工作原理 120
6.5.4 更多內容 121
6.6 使用級聯過渡 122
6.6.1 準備階段 122
6.6.2 開始編程 122
6.6.3 工作原理 123
6.7 使用選擇性過渡 124
6.7.1 準備階段 124
6.7.2 開始編程 124
6.7.3 工作原理 125
6.7.4 請參見 126
6.8 監聽過渡事件 126
6.8.1 準備階段 126
6.8.2 開始編程 126
6.8.3 工作原理 127
6.9 實現自定義插值器 128
6.9.1 準備階段 128
6.9.2 開始編程 129
6.9.3 工作原理 130
6.10 使用定時器 130
6.10.1 準備階段 130
6.10.2 開始編程 131
6.10.3 工作原理 132
6.10.4 請參見 133
第7章 形狀之美 134
7.1 簡介 134
7.1.1 什麼是SVG? 135
7.1.2 矢量 135
7.1.3 可伸縮性 135
7.2 創建簡單形狀 136
7.2.1 準備階段 136
7.2.2 開始編程 136
7.2.3 工作原理 137
7.2.4 更多內容 138
7.2.5 請參見 139
7.3 使用線條生成器 139
7.3.1 準備階段 140
7.3.2 開始編程 140
7.3.3 工作原理 141
7.3.4 請參見 143
7.4 使用線條插值 143
7.4.1 準備階段 143
7.4.2 開始編程 143
7.4.3 工作原理 146
7.5 更改線條的張力 147
7.5.1 準備階段 147
7.5.2 開始編程 147
7.5.3 工作原理 149
7.6 使用區域生成器 150
7.6.1 準備階段 150
7.6.2 開始編程 150
7.6.3 工作原理 152
7.7 使用區域插值 153
7.7.1 準備階段 153
7.7.2 開始編程 153
7.7.3 工作原理 156
7.7.4 更多內容 156
7.7.5 請參見 156
7.8 使用圓弧生成器 156
7.8.1 準備階段 156
7.8.2 開始編程 157
7.8.3 工作原理 158
7.9 實現圓弧過渡 159
7.9.1 準備階段 160
7.9.2 開始編程 160
7.9.3 工作原理 161
7.9.4 更多內容 163
7.9.5 請參見 163
第8章 圖表美化 164
8.1 簡介 164
8.2 創建線圖 166
8.2.1 準備工作 166
8.2.2 開始編程 166
8.2.3 工作原理 168
8.3 創建面積圖 172
8.3.1 準備工作 173
8.3.2 開始編程 173
8.3.3 工作原理 175
8.4 創建散點圖 176
8.4.1 準備工作 176
8.4.2 開始編程 176
8.4.3 工作原理 178
8.5 創建氣泡圖 180
8.5.1 準備工作 180
8.5.2 開始編程 180
8.5.3 工作原理 182
8.6 創建條形圖 184
8.6.1 準備工作 184
8.6.2 開始編程 184
8.6.3 工作原理 186
8.6.4 請參見 187
第9章 井然有序 188
9.1 簡介 188
9.2 創建餅圖 189
9.2.1 準備階段 189
9.2.2 開始編程 189
9.2.3 工作原理 192
9.2.4 更多內容 194
9.2.5 請參見 194
9.3 創建堆疊面積圖 194
9.3.1 準備階段 194
9.3.2 開始編程 194
9.3.3 工作原理 196
9.3.4 更多內容 198
9.3.5 請參見 200
9.4 創建矩形式樹狀結構圖 200
9.4.1 準備階段 201
9.4.2 開始編程 201
9.4.3 工作原理 203
9.4.4 請參見 206
9.5 創建樹 206
9.5.1 準備階段 206
9.5.2 開始編程 206
9.5.3 工作原理 209
9.5.4 請參見 212
9.6 創建封閉圖 212
9.6.1 準備階段 212
9.6.2 開始編程 212
9.6.3 工作原理 214
9.6.4 請參見 216
第10章 可視化互動 217
10.1 簡介 217
10.2 與滑鼠事件互動 218
10.2.1 準備階段 218
10.2.2 開始編程 218
10.2.3 工作原理 219
10.2.4 更多內容 220
10.2.5 請參見 221
10.3 多點觸摸設備互動 221
10.3.1 準備階段 221
10.3.2 開始編程 221
10.3.3 工作原理 224
10.3.4 更多內容 225
10.3.5 請參見 226
10.4 實現縮放和平移行為 226
10.4.1 準備階段 226
10.4.2 開始編程 226
10.4.3 工作原理 228
10.4.4 更多內容 229
10.4.5 請參見 229
10.5 實現拖曳行為 230
10.5.1 準備階段 230
10.5.2 開始編程 230
10.5.3 工作原理 232
10.5.4 更多內容 233
10.5.5 請參見 233
第11章 使用“原力”! 234
11.1 簡介 234
11.2 使用引力和相互作用力 235
11.2.1 準備階段 235
11.2.2 開始編程 235
11.2.3 工作原理 237
11.2.4 請參見 242
11.3 生成動量 243
11.3.1 準備階段 243
11.3.2 開始編程 243
11.3.3 工作原理 244
11.3.4 請參見 245
11.4 設定連線約束 246
11.4.1 準備階段 246
11.4.2 開始編程 246
11.4.3 工作原理 248
11.4.4 請參見 252
11.5 藉助力來輔助可視化 252
11.5.1 準備階段 252
11.5.2 開始編程 252
11.5.3 工作原理 254
11.5.4 請參見 255
11.6 操作“力” 256
11.6.1 準備階段 256
11.6.2 開始編程 256
11.6.3 工作原理 258
11.6.4 請參見 259
11.7 創建力導向圖 259
11.7.1 準備階段 260
11.7.2 開始編程 260
11.7.3 工作原理 262
11.7.4 請參見 262
第12章 地圖的奧秘 263
12.1 簡介 263
12.2 美國地圖的投影 263
12.2.1 GeoJSON 263
12.2.2 準備階段 265
12.2.3 開始編程 265
12.2.4 工作原理 266
12.2.5 請參見 268
12.3 世界地圖的投射 268
12.3.1 準備階段 268
12.3.2 開始編程 268
12.3.3 工作原理 270
12.3.4 請參見 270
12.4 構建等值區域圖 270
12.4.1 準備階段 270
12.4.2 開始編程 271
12.4.3 工作原理 272
12.4.4 請參見 272
第13章 測試驅動 274
13.1 簡介 274
13.2 下載Jasmine並搭建測試環境 275
13.2.1 準備階段 275
13.2.2 開始編程 276
13.2.3 工作原理 277
13.2.4 請參見 278
13.3 測試驅動——創建圖表 278
13.3.1 開始編程 278
13.3.2 工作原理 279
13.4 測試驅動——SVG渲染 280
13.4.1 開始編程 280
13.4.2 工作原理 281
13.5 測試驅動——精確渲染 282
13.5.1 開始編程 282
13.5.2 工作原理 283
13.5.3 請參見 285
附錄:快速創建互動式分析 286
簡介 286
Crossfilter.js庫 286
開始編程 288
工作原理 289
更多內容 290
請參見 290
多維圖表庫——dc.js 290
準備階段 290
開始編程 290
工作原理 292
更多內容 293
請參見 294

作者簡介

Nick Qi Zhu,資深程式設計師,可視化實踐的狂熱愛好者,擁有數十年的軟體開發經驗。他是dc.js(dc.js是基於D3開發的、可用於製作多維圖表的庫)的作者。現就職於ThoughtWorks,任資深諮詢師

編輯推薦

* 文字簡潔,易於讀者理解
* 精挑細選,關注最重要的任務和問題
* 細心組織,提供高效的問題解決方案
* 講解透徹,清晰解讀每個操作步驟
* 舉一反三,將解決方案套用到其他場景

媒體推薦

D3.js作為數據可視化技術領域的佼佼者,相對於其他工具,擁有龐大的用戶基數,更加友好開放的社區,以及大量的學習資料。
很榮幸的是,D3.js以及這本書的原作者Nick Qi Zhu,還有中文版的譯者楊銳、劉夏、王超、張沙沙,都是我目前在ThoughtWorks的同事。他們在本書中為讀者呈現了大量的示例,以幫助讀者最快速地上手D3.js。
謝謝我的同事們。
——張凱峰,ThoughtWorks中國高級諮詢師

相關詞條

熱門詞條

聯絡我們