
- D3.js 教程
- D3.js - 首頁
- D3.js - 簡介
- D3.js - 安裝
- D3.js - 概念
- D3.js - 選擇器
- D3.js - 資料連線
- D3.js - SVG 簡介
- D3.js - SVG 變換
- D3.js - 過渡動畫
- D3.js - 動畫
- D3.js - 繪製圖表
- D3.js - 圖表
- D3.js - 地理資料
- D3.js - 陣列 API
- D3.js - 集合 API
- D3.js - 選擇器 API
- D3.js - 路徑 API
- D3.js - 縮放 API
- D3.js - 座標軸 API
- D3.js - 形狀 API
- D3.js - 顏色 API
- D3.js - 過渡動畫 API
- D3.js - 拖拽 API
- D3.js - 縮放 API
- D3.js - 請求 API
- 分隔符分隔值 API (Delimiter-Separated Values API)
- D3.js - 定時器 API
- D3.js - 例項
- D3.js 有用資源
- D3.js - 快速指南
- D3.js - 有用資源
- D3.js - 討論
D3.js - 概念
D3.js 是一個開源的 JavaScript 庫,用於:
- 文件物件模型 (DOM) 的資料驅動操作。
- 處理資料和形狀。
- 佈局線性、層次、網路和地理資料視覺化元素。
- 實現使用者介面 (UI) 狀態之間的平滑過渡。
- 實現有效的使用者互動。
Web 標準
在開始使用 D3.js 建立視覺化之前,我們需要熟悉 Web 標準。以下 Web 標準在 D3.js 中被大量使用。
- 超文字標記語言 (HTML)
- 文件物件模型 (DOM)
- 層疊樣式表 (CSS)
- 可縮放向量圖形 (SVG)
- JavaScript
讓我們逐一詳細瞭解這些 Web 標準。
超文字標記語言 (HTML)
眾所周知,HTML 用於構建網頁內容。它儲存在副檔名為“.html”的文字檔案中。
示例 - 一個典型的簡易 HTML 示例如下所示
<!DOCTYPE html> <html lang = "en"> <head> <meta charset = "UTF-8"> <title></title> </head> <body> </body> </html>
文件物件模型 (DOM)
當瀏覽器載入 HTML 頁面時,它會被轉換為分層結構。HTML 中的每個標籤都會轉換為 DOM 中具有父子層次結構的元素/物件。這使得我們的 HTML 具有更邏輯的結構。一旦 DOM 形成,操作(新增/修改/刪除)頁面上的元素就變得更容易了。
讓我們使用以下 HTML 文件來了解 DOM:
<!DOCTYPE html> <html lang = "en"> <head> <title>My Document</title> </head> <body> <div> <h1>Greeting</h1> <p>Hello World!</p> </div> </body> </html>
上述 HTML 文件的文件物件模型如下:

層疊樣式表 (CSS)
雖然 HTML 為網頁提供了結構,但 CSS 樣式使網頁看起來更美觀。CSS 是一種樣式表語言,用於描述用 HTML 或 XML(包括 SVG 或 XHTML 等 XML 方言)編寫的文件的呈現方式。CSS 描述了元素如何在網頁上呈現。
可縮放向量圖形 (SVG)
SVG 是一種在網頁上渲染影像的方法。SVG 不是直接的影像,而只是一種使用文字建立影像的方法。顧名思義,它是一種可縮放向量。它會根據瀏覽器的尺寸自動縮放,因此調整瀏覽器大小不會使影像變形。除 IE8 及以下版本外,所有瀏覽器都支援 SVG。資料視覺化是視覺表示,使用 SVG 透過 D3.js 呈現視覺化非常方便。
可以將 SVG 想象成一個畫布,我們可以在上面繪製不同的形狀。因此,首先,讓我們建立一個 SVG 標籤:
<svg width = "500" height = "500"></<svg>
SVG 的預設測量單位是畫素,因此我們不需要指定單位是畫素。現在,如果我們想繪製一個矩形,我們可以使用下面的程式碼繪製它:
<svg width = "500" height = "500"> <rect x = "0" y = "0" width = "300" height = "200"></rect> </svg>
我們可以在 SVG 中繪製其他形狀,例如:線、圓、橢圓、文字和路徑。
就像設定 HTML 元素的樣式一樣,設定 SVG 元素的樣式也很簡單。讓我們將矩形的背景顏色設定為黃色。為此,我們需要新增一個屬性“fill”並將值指定為黃色,如下所示:
<svg width = "500" height = "500"> <rect x = "0" y = "0" width = "300" height = "200" fill = "yellow"></rect> </svg>
JavaScript
JavaScript 是一種鬆散型別的客戶端指令碼語言,在使用者的瀏覽器中執行。JavaScript 與 HTML 元素(DOM 元素)互動以使 Web 使用者介面具有互動性。JavaScript 實現ECMAScript 標準,其中包括基於 ECMA-262 規範的核心功能以及其他並非基於 ECMAScript 標準的功能。JavaScript 知識是 D3.js 的先決條件。