使用指南元素 Element

元素总览

查看 G6Lite 节点、边、分组的内置形态、元素构成、状态和自定义示例

G6Lite 的图包含节点(Node)、边(Edge)和分组(Combo)三类元素。标签为元素补充名称、关系或分组信息。

节点(Node)

节点表示图中的对象,例如用户、设备或服务。用 node.type 选择圆形 circle 或矩形 rect,再用 node.style 调整尺寸、填充和描边。示例对比实心和描边圆形,以及直角和圆角矩形。

节点总览

边(Edge)

边表示节点之间的关系,例如好友关系或服务调用。用 edge.type 选择直线 line、弧线 arc、三次曲线 cubic 或折线 polyline。下面的弧线使用 lineDash 设置虚线,三次曲线和折线使用 endArrow 标出方向。

同一对节点之间的多条关系可用 parallelEdges 分开显示。让 source 和 target 指向同一节点即可绘制自环。

折线可根据场景选择路由。上图演示 orth,其他路由可在 tree 组织架构图、indented 缩进树和 fishbone 鱼骨图中查看。类型与数据结构见边总览。

分组(Combo)

Combo 将相关节点组织成分组,例如同属一个子系统的服务。节点通过 comboId 加入分组,子分组通过 parentId 嵌套。展开时显示成员的包围框。折叠时用 collapsedType 选择圆形或矩形,并显示成员计数或自定义文字。

分组总览

标签(Label)

用 node.style.label 标注节点名称、用 edge.style.label 标注关系、用 combo.style.label 添加分组标题。用 labelPlacement 调整位置,用 labelBackground 给节点或边的标签加底色,用 labelAutoRotate 让边标签沿边方向旋转。

标签样式与显示策略

元素构成

节点的圆形或矩形主体可以叠加 icon 图标、label 标签与 node.decorations 装饰。边由路径、可选的起止箭头和标签组成。Combo 展开时以包围框圈出成员,可在框上显示标题。

元素状态

基础外观对应 default。内置状态还包括激活 active、选中 selected、高亮 highlight、弱化 inactive、禁用 disabled 和隐藏 hidden。隐藏示例的画布留空,禁用示例用灰色弱化节点。

示例将自定义状态 review 配为橙色填充。与 selected 同时使用时,节点保留选中描边。用数据中的 states 声明初始状态,或在渲染后调用 graph.setItemState()。各元素的状态合并规则见元素状态。

配置元素

在 new Graph() 的同一层级配置 node、edge 和 combo。下面用 node.style 设置服务节点,用 edge.style 配置协议标签和箭头,再用 combo.style 设置存储分组的边框和标题。点击节点可以对照 node.stateStyles.selected 中的描边配置。

正在加载示例…
点击节点查看选中样式,拖动空白处平移,滚轮缩放。
node: {
  type: 'rect',
  style: {
    width: 96,
    height: 38,
    borderRadius: 8,
    fill: '#eef2ff',
    stroke: '#6366f1',
    strokeWidth: 1,
    label: (node) => node.name ?? node.id,
    labelPlacement: 'center',
    labelColor: '#1e293b',
  },
  stateStyles: { selected: { stroke: '#4338ca', strokeWidth: 3 } },
},
edge: {
  style: {
    stroke: '#64748b',
    endArrow: true,
    label: (_source, _target, edge) => String(edge.data?.protocol ?? ''),
    labelColor: '#334155',
    labelBackground: '#fff',
    labelBackgroundPadding: 4,
  },
},
combo: {
  style: {
    label: 'Storage',
    labelPlacement: 'top',
    labelColor: '#065f46',
    padding: 20,
    borderRadius: 12,
    fill: 'rgba(16,185,129,0.08)',
    stroke: '#6ee7b7',
  },
},

图形绘制与扩展

切换示例,查看扩展如何通过 register() 接入 G6Lite。每项指南都提供对应的可运行代码。

正在加载示例…
切换 B 业务状态,单击节点选中;短条为覆盖绘制,右上徽章使用自定义装饰锚点;重置恢复