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