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?