日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

G6 图可视化引擎——核心概念——节点/边/Combo——内置节点——内置节点总览

發布時間:2024/5/7 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 G6 图可视化引擎——核心概念——节点/边/Combo——内置节点——内置节点总览 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

G6 的內置節點包括 circle,rect,ellipse,diamond,triangle,star,image,modelRect。這些內置節點的默認樣式分別如下圖所示。


本文將概述 G6 中的各個內置節點類型、內置節點的通用屬性、配置方法。

內置節點類型說明

下面表格中顯示了內置的各類節點,同時對一些特殊的字段進行了說明:

名稱描述默認示例
circle圓形:
- size 是單個數字,表示直徑
- 圓心位置對應節點的位置
- color 字段默認在描邊上生效
- 標簽文本默認在節點中央
- 更多字段見 Circle 節點教程
rect矩形:
- size 是數組,例如:[100, 50]
- 矩形的中心位置是節點的位置,而不是左上角
- color 字段默認在描邊上生效
- 標簽文本默認在節點中央
- 更多字段見 Rect 節點教程
ellipse橢圓:
- size 是數組,表示橢圓的長軸直徑和短軸直徑
- 橢圓的圓心是節點的位置
- color 字段默認在描邊上生效
- 標簽文本默認在節點中央
- 更多字段見 Ellipse 節點教程
diamond菱形:
- size 是數組,表示菱形的寬和高
- 菱形的中心位置是節點的位置
- color 字段默認在描邊上生效
- 標簽文本默認在節點中央
- 更多字段見 Diamond 節點教程
triangle三角形:
- size 是數組,表示三角形的底和高
- 三角形的中心位置是節點的位置
- color 字段默認在描邊上生效
- 標簽文本默認在節點下方
- 更多字段見 Triangle 節點教程
star星形:
- size 是單個數字,表示星形的大小
- 星星的中心位置是節點的位置
- color 字段默認在描邊上生效
- 標簽文本默認在節點中央
- 更多字段見 Star 節點教程
image圖片:
- size 是數組,表示圖片的寬和高
- 圖片的中心位置是節點位置
- img 圖片的路徑,也可以在 style 里面設置
- color 字段不生效
- 標簽文本默認在節點下方
- 更多字段見 Image 節點教程
modelRect卡片:
- size 是數組,表示卡片的寬和高
- 卡片的中心位置是節點的位置
- color 字段默認在描邊上生效
- 標簽文本默認在節點中央
- 若有 ?description 字段則顯示在標簽文本下方顯示 ?description 內容
- 更多字段見 ModelRect 節點教程

?

節點的通用屬性

所有內置的節點支持的通用屬性:

名稱是否必須類型備注
idtrueString節點唯一 ID,必須是唯一的 string
xfalseNumberx 坐標
yfalseNumbery 坐標
typefalseString指定節點類型,內置節點類型名稱或自定義節點的名稱。默認為 'circle'
sizefalseNumber / Array節點的大小
anchorPointsfalseArray指定邊連入節點的連接點的位置(相對于該節點而言),可以為空。例如:?[0, 0],代表節點左上角的錨點,[1, 1],代表節點右下角的錨點
stylefalseObject節點的樣式屬性。
labelfalseString文本文字
labelCfgfalseObject文本配置項

樣式屬性 style

Object 類型。通過 style 配置來修改節點的填充色、邊框顏色、陰影等屬性。下表是 style 對象中常用的配置項:

名稱是否必須類型備注
fillfalseString節點填充色
strokefalseString節點的描邊顏色
lineWidthfalseNumber描邊寬度
lineDashfalseNumber[]描邊虛線,數組代表實、虛長度
shadowColorfalseString陰影顏色
shadowBlurfalseNumber陰影范圍
shadowOffsetXfalseNumber陰影 x 方向偏移量
shadowOffsetYfalseNumber陰影 y 方向偏移量
opacityfalseNumber設置繪圖的當前 alpha 或透明值
fillOpacityfalseNumber設置填充的 alpha 或透明值
cursorfalseString鼠標在該節點上時的鼠標樣式,CSS 的 cursor 選項都支持

下面代碼演示在實例化圖時全局配置方法中配置 style:

const graph = new G6.Graph({container: 'mountNode',width: 800,height: 600,defaultNode: {// ... 其他屬性style: {fill: '#steelblue',stroke: '#eaff8f',lineWidth: 5,// ... 其他屬性},}, });

標簽文本 label 及其配置 labelCfg

label String 類型。標簽文本的文字內容。

labelCfg Object 類型。配置標簽文本。下面是 labelCfg 對象中的常用配置項:

名稱是否必須類型備注
positionfalseString文本相對于節點的位置,目前支持的位置有:'center','top','left','right','bottom'。默認為 'center'。modelRect 節點不支持該屬性
offsetfalseNumber文本的偏移,position 為 'bottom' 時,文本的上方偏移量;position 為 'left' 時,文本的右方偏移量;以此類推在其他 position 時的情況。modelRect 節點的 offset 為左邊距
stylefalseObject標簽的樣式屬性。

上表中的標簽的樣式屬性 style 的常用配置項如下:

名稱是否必須類型備注
fillfalseString文本顏色
strokefalseString文本描邊顏色
lineWidthfalseNumber文本描邊粗細
opacityfalseNumber文本透明度
fontFamilyfalseNumber文本字體
fontSizefalseNumber文本字體大小
... 節點標簽與邊標簽樣式屬性相同,統一整理在 Text 圖形 API

下面代碼演示在實例化圖時全局配置方法中配置 label 和 labelCfg。

const graph = new G6.Graph({container: 'mountNode',width: 800,height: 600,defaultNode: {// ... 其他屬性label: 'node-label',labelCfg: {position: 'bottom',offset: 10,style: {fill: '#666',},},}, });

節點的配置方法

配置節點的方式有三種:實例化圖時全局配置,在數據中動態配置,使用 graph.node(nodeFn) 函數配置。這幾種配置方法可以同時使用,優先級:使用 graph.node(nodeFn) 配置 > 數據中動態配置 > 實例化圖時全局配置。

即有相同的配置項時,優先級高的方式將會覆蓋優先級低的。

實例化圖時全局配置

用戶在實例化 Graph 時候可以通過 defaultNode 配置節點,這里的配置是全局的配置,將會在所有節點上生效。

const graph = new G6.Graph({container: 'mountNode',width: 800,height: 600,defaultNode: {type: 'circle',// 其他配置}, });

在數據中動態配置

如果需要為不同節點進行不同的配置,可以將配置寫入到節點數據中。這種配置方式可以通過下面代碼的形式直接寫入數據,也可以通過遍歷數據的方式寫入。

const data = {nodes: [{id: 'node0',size: 100,type: 'rect',... // 其他屬性style: {... // 樣式屬性,每種節點的詳細樣式屬性參見各節點文檔}},{id: 'node1',size: [50, 100],type: 'ellipse',... // 其他屬性style: {... // 樣式屬性,每種節點的詳細樣式屬性參見各節點文檔}},... // 其他節點],edges: [... // 邊] }

使用 graph.node()

該方法可以為不同節點進行不同的配置。

提示:

  • 該方法必須在 render 之前調用,否則不起作用;
  • 由于該方法優先級最高,將覆蓋其他地方對節點的配置,這可能將造成一些其他配置不生效的疑惑;
  • 該方法在增加元素、更新元素時會被調用,如果數據量大、每個節點上需要更新的內容多時,可能會有性能問題。
// const data = ... // const graph = ... graph.node(node => {return {id: node.id,type: 'rect',style: {fill: 'blue',},}; });graph.data(data); graph.render();

示例

const data = {nodes: [{id: 'node_circle',x: 100,y: 100,type: 'circle',label: 'circle',},{id: 'node_rect',x: 200,y: 100,type: 'rect',label: 'rect',},{id: 'node-ellipse',x: 330,y: 100,type: 'ellipse',label: 'ellipse',},{id: 'node-diamond',x: 460,y: 100,type: 'diamond',label: 'diamond',},{id: 'node-triangle',x: 560,y: 100,//size: 80,type: 'triangle',label: 'triangle',},{id: 'node-star',x: 660,y: 100,//size: [60, 30],type: 'star',label: 'star',},{id: 'node-image',x: 760,y: 100,size: 50,type: 'image',img: 'https://gw.alipayobjects.com/zos/rmsportal/XuVpGqBFxXplzvLjJBZB.svg',label: 'image',},{id: 'node-modelRect',x: 900,y: 100,type: 'modelRect',label: 'modelRect',},], };const graph = new G6.Graph({container: 'mountNode',width: 1500,height: 300, }); graph.data(data); graph.render();

顯示結果:

triangle 節點和 image 節點的標簽文本默認位置為:position:‘bottom’ ,其他節點文本的默認位置都為:position: ‘center’;

調整節點配置

下面演示通過將配置寫入數據的方式,調整 id 為 ‘node-ellipse’ 的橢圓節點的文本位置,顏色和樣式。將下面代碼替換上面代碼中 id 為 ‘node-ellipse’ 的節點數據即可生效。

{id: 'node-ellipse',x: 330,y: 100,type: 'ellipse',size: [60, 30],label: 'ellipse',labelCfg: {position: 'bottom',offset: 5},style: {fill: '#fa8c16',stroke: '#000',lineWidth: 2} }

再為 id 為 ‘node-modelRect’ 的 modelRect 節點添加描述文字,使用下面代碼替換 id 為 ‘node-modelRect’ 的節點數據即可得到帶有內容為 ‘描述文本 xxxxxxxxxxx’ 的 modelRect 節點。

總結

以上是生活随笔為你收集整理的G6 图可视化引擎——核心概念——节点/边/Combo——内置节点——内置节点总览的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。