手动创建节点分组 Group

CustomGroup 为节点分组,支持 Circle 和 Rect 两种类型。用户可通过 CustomGroup 创建节点分组、设置分组的样式、计算分组的坐标及宽高、收起和展开分组。

分组默认是根据数据自动渲染的,当数据中存在 groups 时根据 groups 字段渲染分组,当不存在 groups 时,则根据 nodes 数据中是否存在 groupId 来渲染分组。

当需要通过手动创建分组时候,可以参考下面的文档。

CustomGroup 实例化

CustomGroup 实例会在实例化 Graph 的过程中自动创建,不需要用户手动实例化。

配置项

在实例化 Graph 的时候,通过配置 groupTypegroupStyle 来指定分组的类型及样式。

  1. const graph = new G6.Graph({
  2. container: 'mountNode',
  3. width: 500,
  4. height: 500,
  5. groupType: 'circle',
  6. groupStyle: {
  7. default: {},
  8. hover: {},
  9. collapse: {},
  10. },
  11. });

groupType

groupType 属性用于指定分组的类型,默认为 circle,支持 circlerect两种。

groupType 指定为 circle的效果如下。 download groupType 指定为 rect的效果如下图。download

groupStyle

groupStyle 用于指定分组在默认(default)、交互过程中(hover)及收起(collapse)状态下的样式。

通用属性

default、hover 和 collapse 支持的所有通用的属性参考属性配置项。除过这些通用的属性,default 和 collapse 分别还支持以下特有属性。

default

属性名称含义类型备注
minDis距离右上角最小距离number不存在嵌套分组时使用该值
maxDis距离右上角最大距离number存在嵌套分组时使用该值

collapse

属性名称含义类型备注
r分组的半径number当 groupType 为 circle 时有效
width分组宽度number当 groupType 为 rect 时有效
height分组高度number当 groupType 为 rect 时有效

add / addItem

用于生成分组。

参数含义类型备注
groupId分组IDstring
nodes分组中包含的节点或节点IDarray节点实例或节点 ID
type分组类型string默认 circle ,支持 circle 和 rect
zIndex分组层级number默认 0
title分组标题配置objectstring
  1. const nodes = ['node1', 'node2'];
  2. graph.addItem('group', {
  3. groupId: 'xxxx000999',
  4. nodes,
  5. type: 'rect',
  6. zIndex: 2,
  7. title: '分组标题',
  8. title: {
  9. text: '分组标题',
  10. stroke: '',
  11. fill: '',
  12. offsetX: 10,
  13. offsetY: 0,
  14. },
  15. });

collapseGroup

收起分组,收起分组后,隐藏分组中的所有节点和边,分组外部与分组内节点有连线的则临时连接到分组上面。

参数含义类型备注
groupId分组IDstring
  1. graph.collapseGroup('groupId');

expandGroup

展开分组,显示分组中的所有节点和边,恢复收起前的连接情况。

参数含义类型备注
groupId分组IDstring
  1. graph.expandGroup('groupId');