.大數據時代不可缺的視覺化工具
.D3是最好的選擇
一圖勝千文,再多的數據,也比不上一個圖來的清楚,有圖有真相,再完整的資料也比不上一個表的清楚,我們在本機上有Excel工具,但在網頁上怎麼辦?
用HTML5的Canvas功能實在很有限,速度也不快,還好有D3.js的出現。D3.js是網頁上的畫家,能展現出各式各樣的圖型,甚至配合了大數據以及分析軟體,能輕鬆做出熱圖、力導圖、地圖等新時代才有的圖型,如果你對Javascript/HTML5/CSS3繪圖的能力感到不足,使用D3.js將會是你最好的選擇。
作者序
D3(Data-Driven Documents)是一個用於資料視覺化開發的JavaScript 函數庫,專案託管於GitHub。GitHub 是全世界最流行的程式託管平台,雲集了來自世界各地的優秀工程師。D3 自誕生以來,不斷受到好評,其排名在GitHub的專案倉庫排行榜已高居第2 位(2017 年3 月)。以一個視覺化工具而言,能取得這種成就可說是奇蹟。
人數多並不表示一個工具好,但一定表示它擁有更多的教學、範例程式、社區問答和出版物。D3 由於其龐大的使用者量,已經幾乎成為資料視覺化的代名詞。
本書希望盡可能讓零基礎初學者也能閱讀,但或許很難。您需要至少掌握一種程式語言,例如C/C++、Java、JavaScript,了解網頁撰寫的基礎。
學習本書後,相信讀者能在一邊查詢API 的情況下完成資料視覺化的工作。為使閱讀儘量簡單、容易,本書附帶非常豐富的插圖。
用圖而不用文字。這也正好符合視覺化的追求。
✤ 執行環境
執行本書的範例,需要安裝以下軟體:
.Chrome、Firefox、Safari、Opera、Internet Explorer 9或更新版本
.Apache HTTP Server 或Ngnix 等伺服器軟體(部分範例)
✤ 排版約定
為讓讀者把握重點,本書將採用以下排版約定。
(1)正文中重要的詞彙會使用粗體字型以示強調。
(2)重要的程式會以粗體字型表示強調,例如:
d3.selectAll("p").text("cat"); // 普通程式
d3.selectAll("p").text("dog"); // 重要程式
✤ 勘誤資訊
一本書要想增強,需要許多讀者回饋錯誤。筆者雖想盡最大努力確保沒有錯誤,但卻是困難的。如果發現書中的任何錯誤,小到錯別字,大到程式無法執行等,希望能及時回饋。您的任何一次勘誤,都會令筆者和其他讀者受益。
與本書相關的最新動態請造訪以下網站:ttp://www.decembercafe.org/
勘誤資訊請發送郵件至:phantomtyry@126.com
✤ 致謝
感謝我的妻子,當我感到疲勞時,有她在身邊總能感到安心。
感謝我的兒子,他是我最重要的精神支柱。
感謝本書編輯付睿女士,她協助完成本書構思,並提出很多建設性的意見。
D3(Data-Driven Documents)是一個用於資料視覺化開發的JavaScript 函數庫,專案託管於GitHub。GitHub 是全世界最流行的程式託管平台,雲集了來自世界各地的優秀工程師。D3 自誕生以來,不斷受到好評,其排名在GitHub的專案倉庫排行榜已高居第2 位(2017 年3 月)。以一個視覺化工具而言,能取得這種成就可說是奇蹟。
人數多並不表示一個工具好,但一定表示它擁有更多的教學、範例程式、社區問答和出版物。D3 由於其龐大的使用者量,已經幾乎成為資料視覺化的代名詞。
本書希望盡可能讓零基礎初學者也能閱讀,但或許很難。您需要至少掌握...
目錄
前言
Chapter 01 D3 簡介
1.1 D3 是什麼
1.2 資料視覺化是什麼
1.3 圖表種類
1.4 學習方法
Chapter 02 Web 前端開發基礎
2.1 2.1 瀏覽器和伺服器
2.2 HTML&CSS
2.3 JavaScript
2.4 DOM
2.5 SVG
2.6 Canvas
2.7 色彩基礎
Chapter 03準備開發環境
3.1 下載D3
3.2 安裝Chrome 和Sublime Text
3.3 安裝Apache HTTP Server
3.4 Hello World
3.5 繪製向量圖
3.6 偵錯
Chapter 04 D3 基礎:選擇集與資料
4.1 選擇元素
4.2 選擇集
4.3 增加、插入和刪除
4.4 資料綁定
4.5 update、enter、exit
4.6 選擇集的常用方法
4.7 陣列的常用方法
4.8 直條圖
Chapter 05比例尺和座標軸
5.1 定量比例尺
5.2 序數比例尺
5.3 座標軸
5.4 散點圖
Chapter 06繪製
6.1 顏色
6.2 線段產生器
6.3 區域產生器
6.4 弧產生器
6.5 符號產生器
6.6 弦產生器
6.7 對角線產生器
6.8 聚合線圖
Chapter 07動畫
7.1 過渡效果
7.2 散點圖的過渡效果
Chapter 08互動
8.1 監聽器
8.2 事件d3.event
8.3 行為d3.behavior
Chapter 09匯入和匯出
9.1 檔案匯入
9.2 檔案匯出
Chapter 10版面配置
10.1 圓形圖
10.2 力導向圖
10.3 弦圖
10.4 樹狀圖
10.5 捆圖
10.6 長條圖
10.7 矩陣樹狀圖
Chapter 11地圖的基礎
11.1 地圖的資料
11.2 中國地圖
11.3 地理路徑
11.4 投影
Chapter 12人性化的互動
12.1 提示框
12.2 座標系中的焦點
12.3 元素組合
12.4 區域選擇
12.5 開關
Chapter 13地圖的應用
13.1 值域的顏色
13.2 標記
13.3 標線
13.4 滑動和縮放
13.5 力導向地圖
Chapter 14 D34.x 簡介
14.1 4.x 的新功能
14.2 3.x 如何升級到4.x
14.3 D34.x 的設計思想
14.4 未來展望
Chapter 15 D34.x 新功能剖析
15.1 全新的力導向圖
15.2 豐富多彩的色票面板
15.3 功能倍增的圖形產生器
15.4 更合理的版面配置
15.5 無限循環的過渡效果
Chapter 16 D34.x 在地圖上的應用
16.1 Canvas 地圖的基本功能
16.2 地圖上飛舞的流星
16.3 地球儀
16.4 結合Leaflet.js 和D3.js
前言
Chapter 01 D3 簡介
1.1 D3 是什麼
1.2 資料視覺化是什麼
1.3 圖表種類
1.4 學習方法
Chapter 02 Web 前端開發基礎
2.1 2.1 瀏覽器和伺服器
2.2 HTML&CSS
2.3 JavaScript
2.4 DOM
2.5 SVG
2.6 Canvas
2.7 色彩基礎
Chapter 03準備開發環境
3.1 下載D3
3.2 安裝Chrome 和Sublime Text
3.3 安裝Apache HTTP Server
3.4 Hello World
3.5 繪製向量圖
3.6 偵錯
Chapter 04 D3 基礎:選擇集與資料
4.1 選擇元素
4.2 選擇集
4.3 增加、插入和刪除
4.4 資料綁定
4.5 update、enter、exit
4.6 選擇集的常用方法
4.7 陣列的常用方法
4.8 直條圖
Ch...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。