如果你急于學(xué)習(xí)D3.js這個劃時代的Web圖形和數(shù)據(jù)可視化的JavaScript庫,那該書就是為你準備的。該書面向具有編程或數(shù)據(jù)科學(xué)背景的技術(shù)讀者,內(nèi)容簡潔明快,突出了概念和模式的統(tǒng)一。作者Philipp K.Janert將其在工作中遇到的問題融入書中,幫助你學(xué)以致用。
如果你只有一般的編程經(jīng)驗而沒有進行過現(xiàn)代Web開發(fā),該書也為你提供了技術(shù)支持,像SVG、HTML5、C5S和DOM等在書中都有涉及,這也使得該書成為技術(shù)讀者的一站式資源。
通過學(xué)習(xí)《快學(xué)熟用D3》,你將:
了解D3選擇集這個庫的基本組織原則。
學(xué)習(xí)如何使用數(shù)據(jù)綁定創(chuàng)建數(shù)據(jù)驅(qū)動文檔。
創(chuàng)建動畫圖形和交互式用戶界面。
用曲線、形狀和顏色繪制圖形。
使用內(nèi)置方法構(gòu)建熱力圖、樹形圖和網(wǎng)絡(luò)圖。
通過編寫可復(fù)用組件來簡化工作量。
本書對D3進行了全面而簡潔的介紹,涵蓋了大部分主要功能,具體包括選擇與綁定、事件、交互和動畫、生成器、組件、布局、文件、數(shù)據(jù)加載、格式規(guī)范、數(shù)值的視覺映射、顏色、彩色比例尺和熱力圖、樹形圖和網(wǎng)狀圖,以及數(shù)組、統(tǒng)計和時間戳等輔助工具。本書致力于成為一站式資源整合點,為學(xué)習(xí)該框架的人員提供便利,涵蓋了API文檔及其他背景信息,如SVG、JavaScript、DOM,以及HTML canvas元素等。
時移世易,時光荏苒。現(xiàn)在的前端和以前相比已經(jīng)有了翻天覆地的改變,從混沌時期的原生JS到以操作DOM為主的iQuery,再到三大框架React、Angular和Vue,Node.js讓前端程序員們也有能力把手伸向以前從未踏足過的服務(wù)端領(lǐng)域,Electron讓前端程序員制作桌面應(yīng)用成為可能,樹莓派/Ruff讓JavaScript在物聯(lián)網(wǎng)(IOT)中也有了一席之地。本書所講的D3.js其實是數(shù)據(jù)可視化這一門類的庫,市面上講解它的書籍早已汗牛充棟。這本書雖然名字是“D3 for the Impatient”,其中的內(nèi)容卻并不簡單,所用的D3版本也是相對較新的,相信可以為從事數(shù)據(jù)可視化的程序員和工程師提供幫助。這是百花齊放的時代。時代給了前端諸多的前進方向和更好的學(xué)習(xí)前景,同時也對知識的扎實程度和對新技術(shù)的關(guān)注度提出了挑戰(zhàn)。太多太多的東西擺在我們面前,讓我們深感迷茫和困惑。在這種情況下,我們首先要做的就是保持一顆學(xué)習(xí)的心,只有這樣才能夠保持競爭力,讓自己不被淘汰。比起對學(xué)習(xí)新技術(shù)的恐懼,我們更需要的是面對恐懼的勇氣?茖W(xué)研究也表明,人類的大腦天生就會排斥超出能力范圍的事物,當(dāng)一個人沒有能力去完成一件事情時,就容易產(chǎn)生畏難情緒,害怕失敗。但是,勇氣是一個人處于逆境中的光明。因為害怕失敗,所以更要鼓起勇氣超越自己。突破了,你就成長了;退縮了,你就還待在以前的位置裹足不前。人類的贊歌是勇氣的贊歌,人類的偉大是勇氣的偉大。人生本就是一段不斷超越自我的旅途。缺乏勇氣的人總是舉步維艱,不斷被超越,總是聽天由命,以為自己無能為力卻總是因為恐懼放棄了抗爭的機會。試著擁有一顆學(xué)習(xí)的心吧,試著鼓起前行的勇氣吧!超越自己就是勝利。
菲利普·K.賈納特(Philipp K.Janert),于1997年獲得華盛頓大學(xué)理論物理學(xué)博士學(xué)位,之后一直從事技術(shù)工作,擔(dān)任程序員、科學(xué)家和應(yīng)用數(shù)學(xué)家。他著有《數(shù)據(jù)之魅:基于開源工具的數(shù)據(jù)分析》《計算機系統(tǒng)的反饋控制》以及《Gnuplot實戰(zhàn)》(第2版)。
前言
第1章 引言
1.1 誰適合讀這本書
1.2 為什么選擇D3
1.3 通過本書你會學(xué)到什么
1.4 如何閱讀本書
1.5 術(shù)語
第2章 讓我們開始畫圖吧
2.1 第一個例子:單數(shù)據(jù)集圖表
2.2 第二個例子:雙數(shù)據(jù)集圖表
2.3 第三個例子:讓列表項動起來
第3章 核心問題:選擇與綁定
3.1 選擇集
3.2 綁定數(shù)據(jù)
3.3 操作選擇集
3.4 通過群組共享選擇集之間的信息
第4章 事件、交互和動畫
4.1 事件
4.2 讓鼠標交互加入進來
4.3 平滑過渡
4.4 基于定時器的動畫
第5章 生成器、組件、布局:繪制曲線和形狀
5.1 生成器、組件和布局
5.2 符號
5.3 直線和曲線
5.4 圓、弧和餅圖:使用布局
5.5 其他形狀
5.6 編寫自己的組件
第6章 文件、數(shù)據(jù)加載、格式規(guī)范:數(shù)據(jù)導(dǎo)入和輸出
6.1 獲取文件
6.2 解析和編寫表數(shù)據(jù)
6.3 格式化數(shù)字
第7章 數(shù)值的視覺映射:補間、比例尺和坐標軸
7.1 補間
7.2 比例尺
7.3 坐標軸
7.4 示例
第8章 顏色、彩色比例尺和熱力圖
8.1 顏色和顏色空間轉(zhuǎn)換
8.2 配色
8.3 彩色比例尺
8.4 偽色圖及相關(guān)技術(shù)
第9章 樹形圖和網(wǎng)狀圖
9.1 樹和層次數(shù)據(jù)結(jié)構(gòu)
9.2 力導(dǎo)向圖
第10章 輔助工具:數(shù)組、統(tǒng)計和時間戳
10.1 操作數(shù)組結(jié)構(gòu)
10.2 數(shù)字數(shù)組的描述性統(tǒng)計
10.3 處理日期和時間戳
附錄A 設(shè)置、工具和資源
附錄B SVG便攜手冊
附錄C JavaScript和DOM的速成指南