欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

g6插件繪制動態json樹形圖

錢琪琛2年前9瀏覽0評論

g6是一種基于HTML5 Canvas進行圖形渲染的JavaScript圖形庫,可以方便地繪制各種圖形,也可以輕松創建交互性圖形界面。在g6插件中,我們可以使用相應的功能輕松繪制動態json樹形圖。

首先,我們需要在項目中引入g6的相關插件。我們可以通過npm或者cdn等方式引入,然后在HTML頁面中創建canvas標簽,然后就可以在canvas中繪制圖形了。

var treeData = {  // 定義json數據
name: 'root',
children: [
{
name: 'child1',
children: [
{ name: 'grandchild1' },
{ name: 'grandchild2' }
]
},
{
name: 'child2'
}
]
};
var width = document.getElementById('canvas').width;  // 獲取canvas的寬度
var height = document.getElementById('canvas').height;  // 獲取canvas的高度
var graph = new G6.TreeGraph('canvas', {  // 創建圖形空間
width,
height,
modes: {
default: [
{
type: 'collapse-expand',
onChange: function onChange(item, collapsed) {
const data = item.get('model');
data.collapsed = collapsed;
return true;
}
},
'drag-canvas',
'zoom-canvas'
]
},
defaultNode: {
type: 'circle',
size: [26],
labelCfg: {
style: {
fill: '#fff',
fontSize: 12
}
},
style: {
stroke: '#72CC4A',
lineWidth: 2
}
},
defaultEdge: {
type: 'cubic-horizontal',
style: {
stroke: '#A3B1BF'
}
},
layout: {
type: 'dendrogram',
direction: 'LR',
nodeSep: 30,
rankSep: 100
}
});
graph.node(function(node) {  // 添加節點
return {
label: node.name
};
});
graph.data(Util.cloneDeep(treeData));  // 導入數據
graph.render();  // 渲染圖形

通過以上代碼,我們便可以輕松創建一顆動態json樹形圖了。在圖形中,我們可以使用一些交互性功能,如拖拽、縮放以及節點的展開和收起等,這些功能可以讓我們的圖形展示更加生動和直觀。