YL7196
精通D3.js 第2版+圖說D3:數據可視化利器從入門到進階+D3 API詳解 3本
9787121315053 9787121304804 9787121278990
| 精通D3.js (第2版) | 
| 作 譯 者: | |||||||||
  | |||||||||
| 所屬分類: >> >> 網絡與互聯網 | |||||||||
| 紙質書定價:¥85.0 | 
本書以世界範圍內小流行的可視化工具D3為主題,包含D3簡介、Web前端基本知識、D3開發環境的構建、D3基礎、D3學習主綫,以及D3小新版本D3.js 4.0的知識。學習本書後,相信讀者能在查詢API的情況下完成數據可視化的工作。為使閱讀盡量簡單、易懂,本書附帶非常豐富的插圖。 本書在設計上希望讓零基礎的讀者也能閱讀,但這或許很難。讀者也許需要至少掌握一門編程語言,例如C/C++、Java、,並瞭解網頁編寫的基本知識。本書以世界範圍內小流行的可視化工具D3為主題,包含D3簡介、Web前端基本知識、D3開發環境的構建、D3基礎、D3學習主綫,以及D3小新版本D3.js 4.0的知識。學習本書後,相信讀者能在查詢API的情況下完成數據可視化的工作。為使閱讀盡量簡單、易懂,本書附帶非常豐富的插圖。 本書在設計上希望讓零基礎的讀者也能閱讀,但這或許很難。讀者也許需要至少掌握一門編程語言,例如C/C++、Java、,並瞭解網頁編寫的基本知識。
目 錄
第1章 D3簡介 1
1.1 D3是什麼 1
1.1.1 D3簡史 2
1.1.2 D3的優勢 3
1.1.3 D3的適用範圍 4
1.2 數據可視化是什麼 4
1.2.1 目的 5
1.2.2 構成要素 5
1.2.3 相關概念 7
1.3 圖錶種類 7
1.4 學習方法 10
1.4.1 預備知識 11
1.4.2 學習順序 11
1.4.3 D3難嗎 11
第2章 Web前端開發基礎 13
2.1 瀏覽器和服務器 14
2.1.1 瀏覽器 14
2.1.2 服務器 15
2.2 HTML&CSS 16
2.2.1 HTML元素 17
2.2.2 CSS選擇器 17
2.3 18
2.3.1 在HTML中使用 18
2.3.2 語法 19
2.3.3 變量 20
2.3.4 數據類型 21
2.3.5 操作符 23
2.3.6 語句 24
2.3.7 函數 27
2.3.8 對象 27
2.3.9 數組 28
2.4 DOM 29
2.4.1 結構 29
2.4.2 訪問和修改HTML元素 30
2.4.3 添加和刪除節點 31
2.4.4 事件 32
2.5 SVG 32
2.5.1 位圖和矢量圖 33
2.5.2 圖形元素 33
2.5.3 文字 38
2.5.4 樣式 39
2.5.5 標記 40
2.5.6 濾鏡 41
2.5.7 漸變 42
2.6 Canvas 43
2.6.1 開始繪圖 44
2.6.2 狀態機 44
2.6.3 基本圖形 45
2.6.4 文字 47
2.6.5 變形 48
2.6.6 圖片 49
2.6.7 漸變 49
2.7 色彩基礎 50
2.7.1 顔色空間 50
2.7.2 色相環 51
2.7.3 配色基礎 52
2.7.4 配色的心理效果 54
第3章 準備開發環境 55
3.1 下載D3 55
3.1.1 通過本地引用 55
3.1.2 通過網絡引用 56
3.2 安裝Chrome和Sublime Text 56
3.3 安裝Apache HTTP Server 57
3.4 Hello World 60
3.5 繪製矢量圖 61
3.6 調試 62
第4章 D3基礎:選擇集與數據 63
4.1 選擇元素 63
4.2 選擇集 64
4.2.1 查看狀態 64
4.2.2 設定和獲取屬性 65
4.3 添加、插入和刪除 68
4.4 數據綁定 69
4.4.1 datum()的工作過程 69
4.4.2 data()的工作過程 72
4.4.3 綁定的順序 76
4.5 update、enter、exit 77
4.5.1 enter的處理方法 77
4.5.2 exit的處理方法 79
4.5.3 數據更新時的處理模闆 79
4.6 選擇集的常用方法 80
4.6.1 過濾filter 80
4.6.2 排序sort 81
4.6.3 遍曆each 81
4.6.4 傳遞call 82
4.7 數組的常用方法 82
4.7.1 排序 82
4.7.2 求值 83
4.7.3 生成和操作 85
4.7.4 映射 86
4.8 柱形圖 88
4.8.1 添加矩形和文字 88
4.8.2 更新數據 92
第5章 比例尺和坐標軸 96
5.1 定量比例尺 96
5.1.1 綫性比例尺 97
5.1.2 指數比例尺和對數比例尺 100
5.1.3 量子比例尺和分位比例尺 101
5.1.4 閾值比例尺 103
5.2 序數比例尺 104
5.3 坐標軸 108
5.3.1 繪製方法 109
5.3.2 刻度 111
5.3.3 各比例尺的坐標軸 113
5.4 散點圖 113
第6章 繪製 116
6.1 顔色 116
6.1.1 RGB 117
6.1.2 HSL 118
6.1.3 插值 119
6.2 綫段生成器 119
6.3 區域生成器 123
6.4 弧生成器 125
6.5 符號生成器 127
6.6 弦生成器 129
6.7 對角綫生成器 131
6.8 摺綫圖 132
第7章 動畫 137
7.1 過渡效果 137
7.1.1 創建過渡 138
7.1.2 過渡的屬性 141
7.1.3 子元素 144
7.1.4 事件監聽和調用 146
7.1.5 過渡的樣式 148
7.2 散點圖的過渡效果 148
7.2.1 繪圖準備 149
7.2.2 應用過渡的散點 150
7.2.3 繪製坐標軸 151
7.2.4 更新數據的事件 152
7.2.5 結果 153
第8章 交互 154
8.1 監聽器 154
8.1.1 鼠標 156
8.1.2 鍵盤 157
8.1.3 觸屏 159
......................
| 圖說D3:數據可視化利器從入門到進階 | |||||||||||||||||||
  | 
本書以一個故事開始,闡釋製作可視化數據圖錶的基本方法論,以及如何結閤D3高效、快速地創建可視化圖錶。本書首先解釋瞭可視化的基本涵義,以及D3的適用人群,然後從一個具體的例子入手,告訴我們如何去挑選閤適的數據集,以什麼樣的形式來展現數據,同時對SVG進行瞭基礎鋪墊。在D3部分,本書介紹瞭D3的核心概念“選擇集”與“數據連接”,同時對數據連接的幾個經典場景進行瞭演繹,還結閤D3介紹瞭繪圖所要掌握的坐標係統、比例尺等基本概念。在數據加載方麵,本書講解瞭D3可以解析的多種數據格式,以及從後端加載數據的多種方法,同時解釋瞭D3動畫的製作方式,為製作交互式圖錶奠定瞭基礎。小後,本書揭示瞭掌握D3的不二法門,並希望讀者能夠不斷實踐、持之以恒。全書寫作風格生動有趣、內容通俗易懂,既適閤D3初學者入門,也有助於有一定經驗的前端開發者快速掌握D3。
1 以圖敘事和D3 1
1.1 可視化,已可視 1
1.2 圖錶賦予數據一種形式,該形式闡述瞭數據的內涵 2
1.3 質量:內容為王 4
1.4 設計:形式至上 5
1.5 以圖敘事 6
1.6 開啓D3 7
1.7 設計師為什麼喜歡D3 8
1.8 程序員為什麼鍾愛D3 8
1.9 什麼時候不該使用D3 9
1.10 D3的使用要點 9
1.11 所需工具 10
1.12 小結 11
2 發掘並圖解案例 13
2.1 開始 13
2.2 世界正在變老嗎 14
2.3 發現並研究數據 15
2.4 打磨概念 18
2.5 選擇形式 19
2.5.1 用柱形圖展示數據 19
2.5.2 用堆積柱形圖展示數據 20
2.5.3 用綫圖展示數據 22
2.5.4 用餅圖展示數據 23
2.5.5 用條形圖展示數據 25
2.5.6 用多個微型條形圖展示數據 26
2.5.7 選圖建議——思維導圖 28
2.6 本書將構建的例子 30
2.7 小結 31
3 可縮放矢量圖形 33
3.1 原理一瞥 33
3.2 到底什麼是SVG 33
3.3 用D3繪製圓形 34
3.4 在Web Inspector中查看SVG 36
3.5 通過CSS改變SVG元素的風格 37
3.6 其他圖形 39
3.6.1 矩形 39
3.6.2 圓角矩形 40
3.6.3 圓形 40
3.6.4 橢圓 41
3.6.5 多邊形 41
3.6.6 綫 42
3.6.7 路徑 42
3.7 SVG文本 43
3.8 SVG樣式屬性 46
3.8.1 顔色和透明 46
3.8.2 筆觸屬性 47
3.9 繪圖順序和編組 49
3.10 變形 51
3.11 用SVG構建條形圖 53
3.12 小結 66
4 用D3選擇集操控網頁 67
4.1 配置D3 67
4.2 選擇元素 68
4.2.1 使用CSS選擇器創建選擇集 71
4.2.2 從其他選擇集中新建選擇集 72
4.2.3 將選擇集賦值為變量 72
4.3 通過選擇集修改屬性 72
4.3.1 attr()的工作原理 74
4.3.2 使用attr()應用樣式類和規則 76
4.4 聲明式的D3 77
4.5 鏈式方法調用 77
4.5.1 在鏈式調用過程中新建選擇集 79
4.5.2 鏈式調用和變量賦值 80
4.6 添加元素 80
4.7 串在一起 82
4.8 用d3.selectAll()選中多個元素 84
4.9 使用選擇集製作條形圖 85
4.9.1 使用變量 96
4.9.2 數學運算 98
4.9.3 使用更好的變量 98
4.9.4 為數據使用變量 99
4.9.5 進行顯式約束 100
4.9.6 使用循環 101
4.10 小結 107
5 數據連接:進入 109
5.1 什麼是數據連接 109
5.2 數據連接的核心概念:進入 110
5.3 進入並綁定數據 112
5.4 使用數據連接製作條形圖 115
5.5 使用匿名函數訪問綁定數據 120
5.6 完成圖形的剩餘部分 123
5.7 在對象中存儲數據 123
5.8 小結 129
6 縮放圖形並添加軸綫 131
6.1 綫性比例尺 131
6.2 靈巧地使用邊距規範 137
6.3 添加坐標軸 139
6.4 序數比例尺和坐標軸 147
6.5 小結 160
7 加載並過濾外部數據 161
7.1 使用人口分布數據構建圖形 161
7.2 D3兼容的數據格式 162
7.3 創建服務器並上傳數據 163
7.3.1 通過命令行初始化服務器 163
7.3.2 創建索引文件 164
7.4 D3加載數據的方法 165
7.4.1 迴調方法 165
7.4.2 D3如何解析CSV錶格 166
7.5 處理異步請求 169
7.5.1 用外部數據創建條形圖 170
7.5.2 優化條形圖 172
7.6 加載和處理大(超大)數據集 175
7.7 閤並內容 178
7.8 小結 180
8 為圖形添加交互和動畫效果 181
8.1 數據連接:更新和退齣 181
8.2 交互按鈕 185
8.2.1 用數據連接創建按鈕 186
8.2.2 讓按鈕更方便點擊 192
8.3 更新圖形 195
8.4 添加轉場動畫效果 199
8.5 使用鍵 200
8.6 小結 202
9 添加播放按鈕 203
9.1 在方法中封裝更新階段 203
9.2 在頁麵上添加播放按鈕 207
9.3 點擊播放 209
9.4 允許用戶中斷播放 212
9.5 小結 217
10 修行靠自身 219
10.1 本書是學習D3的基礎 219
10.2 如何剋服障礙 220
10.3 持續編碼 222
10.4 小結 222
附錄A 入門 223
A.1 簡介 223
A.2 瀏覽器中的控製颱 223
A.3 基本運算、變量及數據類型 224
A.4 在頁麵和.js文件中編寫代碼 227
A.5 數組和對象 229
A.6 方法和函數 232
A.7 if語句和for循環 233
A.8 調試 237
附錄B 整理人口分布數據 241
第1 章 核心(Core) .......................... 1
1.1 選擇 ......................................................... 1
1.1.1 d3.select(selector) .......................................... 1
1.1.2 d3.select(node) ............................................... 2
1.1.3 d3.selectAll(selector) ..................................... 3
1.1.4 d3.selectAll(nodes) ........................................ 4
1.1.5 selection.attr(name[, value]) .......................... 4
1.1.6 selection.classed(name[, value]) .................... 5
1.1.7 selection.style(name[, value[, priority]]) ........ 6
1.1.8 selection.property(name[, value]) .................. 6
1.1.9 selection.text([value]) .................................... 7
1.1.10 selection.html([value]) ................................. 8
1.1.11 selection.append(name) ................................ 9
1.1.12 selection.insert(name[, before]) ................... 9
1.1.13 selection.remove() ...................................... 10
1.1.14 selection.data([values[, key]]) .................... 10
1.1.15 selection.enter().......................................... 12
1.1.16 selection.exit() ........................................... 14
1.1.17 selection.filter(selector) ............................. 15
1.1.18 selection.datum([value]) ............................ 15
1.1.19 selection.sort(comparator) .......................... 16
1.1.20 selection.on(type[, listener[, capture]]) ...... 17
1.1.21 d3.event ..................................................... 18
1.1.22 d3.mouse(container) .................................. 19
1.1.23 selection.transition() .................................. 19
1.1.24 selection.select(selector) ............................ 19
1.1.25 selection.selectAll(selector) ....................... 20
1.1.26 selection.each(function) ............................. 21
1.1.27 selection.call(function[, arguments…]) ..... 22
1.1.28 selection.empty() ....................................... 23
1.1.29 selection.node() ......................................... 23
1.1.30 selection.size() ........................................... 23
1.2 過渡 ....................................................... 23
1.2.1 transition.delay([delay]) .............................. 23
1.2.2 transition.duration([duration]) ..................... 24
1.2.3 transition.ease([value[, arguments]]) ........... 25
1.2.4 transition.attr(name, value) .......................... 25
1.2.5 transition.attrTween(name, tween) .............. 26
1.2.6 transition.style(name, value[, priority]) ....... 26
1.2.7 transition.styleTween(name,
tween[, priority]) ......................................... 27
1.2.8 transition.text(value) .................................... 27
1.2.9 transition.tween(name, factory) ................... 28
1.2.10 transition.remove() .................................... 28
1.2.11 transition.select(selector) ........................... 29
1.2.12 transition.selectAll(selector) ...................... 29
1.2.13 transition.filter(selector) ............................. 30
1.2.14 transition.transition() .................................. 30
1.2.15 transition.each([type, ]listener) .................. 30
1.2.16 transition.call(function[, arguments…]) ..... 31
1.2.17 transition.empty() ....................................... 32
1.2.18 transition.node() ......................................... 32
1.2.19 transition.size() .......................................... 32
1.2.20 d3.ease(type[, arguments…]) ..................... 32
1.2.21 ease(t) ........................................................ 33
1.2.22 d3.timer(function[, delay[, time]]) ............. 33
1.2.23 d3.interpolate(a, b) ..................................... 34
1.2.24 interpolate(t) .............................................. 34
1.2.25 d3.interpolateNumber(a, b) ........................ 35
1.2.26 d3.interpolateRound(a, b) .......................... 35
1.2.27 d3.interpolateString(a, b) ........................... 35
1.2.28 d3.interpolateRgb(a, b) .............................. 36
1.2.29 d3.interpolateHsl(a, b) ............................... 36
1.2.30 d3.interpolat
總而言之,這套書的組閤策略非常明智。它將理論深度、可視化理解和API工具性完美地結閤起來。我尤其看重“圖說D3”的直觀性,因為很多時候,抽象的代碼實現對於初學者來說是難以理解的。通過豐富的圖例,我相信能夠更輕鬆地掌握D3.js的核心概念,並且將這些概念與實際的代碼實踐聯係起來。 我期待在學習過程中,能夠通過“精通D3.js”來構建完整的知識框架,理解D3.js的設計哲學和工作流程。在遇到不理解的API時,隨時翻閱“D3 API詳解”,找到最準確的使用方法。這三本書相互補充,形成瞭一個非常完整和高效的學習閉環,能夠幫助我從一個D3.js的門外漢,逐步成長為能夠獨立完成復雜數據可視化項目的開發者。
評分“D3 API詳解”這本書,我將它視為是整個學習體係中的“字典”和“工具箱”。當我閱讀“精通”和“圖說”時,肯定會遇到一些API的具體用法和細節,這個時候,這本API詳解就顯得尤為重要。我期待它能夠詳細地列齣D3.js所有主要的API,並且對每一個API的功能、參數、返迴值以及使用場景都進行清晰的說明。 比如說,關於選擇集(Selections)的常用方法,如 `.select()`, `.selectAll()`, `.data()`, `.enter()`, `.append()`, `.attr()`, `.style()` 等等,我希望能夠在這裏找到它們最權威、最完整的解釋。同樣,對於數據處理、比例尺(Scales)、坐標軸(Axes)、過渡動畫(Transitions)等核心模塊的API,我也希望能夠得到詳盡的介紹。這本書不求教會我“怎麼做”,而是告訴我“能做什麼”,以及“怎麼調用”來做到。它將是我在實際開發中解決具體問題的強大後盾。
評分我對於這套書的預期是,它能夠帶領我走進一個全新的數據可視化世界。我之前也嘗試過一些其他的數據可視化庫,但總覺得不夠靈活,不夠強大。D3.js以其低級彆的API和對Web標準(SVG, HTML, CSS)的深度整閤,讓我看到瞭無限的可能性。 我希望通過這套書的學習,能夠掌握D3.js在處理大規模數據集時的優化技巧,理解其性能調優的關鍵點。另外,對於一些非常規的、定製化的可視化需求,D3.js的強大靈活性應該是能夠滿足的。我期待書中能夠包含一些進階的案例,例如交互式地圖的製作,或者復雜的網絡圖的繪製,這些都是我一直以來非常感興趣並且想要掌握的技能。相信這套書能夠讓我真正領略到D3.js作為“數據可視化利器”的威力。
評分收到這套書的時候,我抱著學習D3.js的熱切期待,這套書的組閤本身就讓我覺得非常超值,包含瞭“包郵 精通D3.js 第2版”、“圖說D3:數據可視化利器從入門到進階”以及“D3 API詳解”。作為一名對數據可視化領域充滿興趣的開發者,我深知D3.js強大的能力,但同時我也知道它學習麯綫相對陡峭。因此,當我看到這套書的組閤時,第一時間就被它“從入門到進階”的全方位覆蓋所吸引。 “精通D3.js 第2版”這本書,從它的書名就能看齣其深度。我期待它能提供一個係統性的、紮實的D3.js學習路徑。第一版我沒有接觸過,但第二版的齣現,意味著它一定經過瞭市場的檢驗和內容的更新,這讓我對它的權威性和實用性有瞭更高的信心。我希望它能夠從最基礎的概念講起,循序漸進地引導我掌握D3.js的核心原理和常用技巧。比如,關於SVG的基礎知識,DOM操作與數據綁定的關係,以及如何利用D3.js來創建各種基本的圖錶類型,如柱狀圖、摺綫圖、散點圖等。我相信,這本書的“精通”二字絕非虛言,它應該能幫助我建立起牢固的D3.js知識體係,為後續更復雜的學習打下堅實的基礎。
評分“圖說D3:數據可視化利器從入門到進階”這本書,名字中的“圖說”兩個字就讓我眼前一亮。對於我這樣需要大量視覺化信息來輔助理解的學習者來說,一本以圖為主的書籍簡直是福音。我期待這本書能夠用大量生動的圖錶來解釋D3.js的各種概念和實現方式。不僅僅是代碼的堆砌,而是通過直觀的圖形展示,讓我能夠“看懂”D3.js是如何工作的。 例如,在講解數據綁定時,如果能用圖示清晰地展示數據數組如何與DOM元素一一對應,再到數據更新時元素的添加、刪除和變化過程,那將極大地降低理解難度。同樣,在介紹各種可視化組件時,比如力導嚮圖、桑基圖、地理信息圖等,如果能通過圖解的方式展示其背後的數學原理和D3.js的實現邏輯,我將能更快地掌握這些高級的應用。我希望這本書能夠幫助我跨越從理論到實踐的鴻溝,真正地“玩轉”D3.js,成為一名數據可視化的高手。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有