d3ForceEasy(更新時間2021年12月7日)
v1.0.3
-新增連線文字和優化新增節點邏輯
D3js force力導向圖 簡單使用的工具
依賴d3.js >v4.0.0
演示d3ForceEasy
使用方法
1.下載d3ForceEasy
2.引入
import d3ForceEasy from 'd3_force_easy'
import 'd3ForceEasy.css'
或<script>引入
簡單開始
//資料
const nodes = [
{name:'2.2.2.2',id:12,type:'ip'},
...
]
const links = [
{source:12,target:13,relation:'長期'},
{source:17,target:14},
...
]
//配置項
const option = {
dom:document.getElementById('app'),
color:'#00a8ff',
zoom:true,
key:'id',
icons:[
{type:'ip',icon:'M512 64C...'},
...
],
currentClick:currentClickCallBack,
}
//初始化
let charts = d3ForceEasy.initForce(option);
//注入資料
charts.update({nodes,links});
配置項
dom
容器定義dom: document.getElementsByTagName('body')
color
全域性顏色key
資料唯一標識,預設為 idicons
圖示集,對應資料中type各型別,使用svg path的d路徑zoom
縮放開關,預設開zoomRange
縮放範圍,預設[0.5, 8]fixed
拖動鎖定開關,Boolean型別linkLabel
連線文字linkLabel:{ //開關 show:true, //標識 key:'relation' }
curvature
連線曲率,預設300,越小越彎currentClick
節點點選回撥,返回滑鼠事件資訊和節點資訊/* * 返回選中資料 * */ let current = ''; function currentClickCallBack(e,d){ current = d; })
API
- 更新節點
包括新增和刪除,僅需修改資料後即可
charts.update({nodes,links});
顯示/隱藏名稱
d3ForceEasy.toggleName()
樣式
- 可使用css覆蓋相應節點和連線的顏色