D3

一個可以簡單用 JS 操作 SVG 的框架。

推薦資料來源:

使用

主要會使用到包含:

1.選擇元素

2.設定屬性

設定 style

3.新增元素

4.設定相關範圍,讓數值縮小

5.傳入資料並且遍歷

記得 append 前要用 selectAll 相同東西,不然不會顯示

6.添加座標軸

7. 加上動畫

地圖

typojson 比 geojson 檔案小。

以下範例讀取 typojson 然後用 相關套件轉換為geojson 並顯示到 d3 上

https://github.com/topojson/topojson-client/blob/master/README.md#feature

加上地圖線

css

更新 x 與 y 軸

merge 與 exit().remove() 是給傳入 .data 用的,如果是軸要用以下方式判斷

畫 x, y 軸標籤

必須要手動添加 text,如果沒有顯示試著加在 svg 標籤下

事件綁定

點擊後觸發顏色改變

讓顏色變深

隱藏動畫

如果要讓隱藏和顯示有動畫,必須用 opacity,display: none 會沒作用

Forcing

類似於物體碰撞等物理效果

https://github.com/d3/d3-force

v3 之後的用法有改變

範例:

https://codepen.io/EasonWang01/pen/RwRoXZbhttps://bl.ocks.org/HarryStevens/f636199a46fc4b210fbca3b1dc4ef372

Last updated

Was this helpful?