Skip to content

ChartGraph 关系图

用于展示节点和边的关系图组件,支持力引导布局、圆形布局等多种布局方式,适合展示网络关系、组织结构、地铁线路等场景。

基础用法

基础的关系图用法,使用力引导布局。

查看代码

分类关系图

通过 categories 属性可以设置节点分类,不同分类的节点会显示不同的颜色。

查看代码

地铁线路图

关系图非常适合展示地铁线路图,通过节点表示站点,边表示线路连接。

查看代码

布局方式

通过 layout 属性可以设置不同的布局方式,支持 force(力引导)、circular(圆形)、none(无布局,使用固定坐标)。

查看代码

力引导布局配置

通过 force-config 属性可以自定义力引导布局的参数。

查看代码

自定义节点样式

每个节点可以单独设置样式,包括大小、颜色等。

查看代码

自定义边样式

每条边可以单独设置样式,包括颜色、宽度、类型等。

查看代码

缩放和平移

通过 roam 属性可以启用缩放和平移功能。

查看代码

拖拽节点

通过 draggable 属性可以启用节点拖拽功能。

查看代码

固定节点位置

通过设置节点的 xy 坐标可以固定节点位置,需要配合 layout="none" 使用。

查看代码

API

Props

参数说明类型可选值默认值
nodes节点数据数组ChartGraphNode[][{ name: '节点1', value: 1 }, ...]
links边数据数组ChartGraphLink[][{ source: '节点1', target: '节点2' }, ...]
categories分类数据数组(可选,用于图例和颜色分组)ChartGraphCategory[][]
layout布局方式stringforce / circular / noneforce
forceLayout是否启用力引导布局booleantrue
forceConfig力引导布局配置object{ repulsion: 50, gravity: 0.1, edgeLength: 30, layoutIterations: 50 }
showLabel是否显示标签booleantrue
labelFontSize标签字体大小number12
showLegend是否显示图例booleanfalse
legendPosition图例位置stringtop / bottom / left / righttop
height图表高度number | string'400px'
width图表宽度number | string'100%'
backgroundColor背景色stringtransparent
draggable是否启用拖拽booleantrue
roam是否启用缩放和平移boolean | stringtrue / false / 'scale' / 'move'false
nodeSize节点默认大小number | [number, number]20
nodeColor节点默认颜色string'#5470C6'
linkColor边默认颜色string'#91CC75'
linkWidth边默认宽度number1
animation是否启用动画booleantrue
animationDuration动画持续时间(毫秒)number1000
options完全自定义的 ECharts 配置项,传入后将以 options 为准,忽略其他属性objectundefined

ChartGraphNode

参数说明类型可选值默认值
name节点名称string
value节点值(可选,用于控制节点大小)number
category节点分类(可选,用于分组和颜色)number | string
x节点X坐标(可选,用于固定位置)number
y节点Y坐标(可选,用于固定位置)number
symbolSize节点大小(可选)number
itemStyle节点样式(可选)object
label节点标签配置(可选)object
参数说明类型可选值默认值
source源节点名称string
target目标节点名称string
value边的值(可选,用于控制边的粗细)number
lineStyle边的样式(可选)object
label边的标签(可选)object

ChartGraphCategory

参数说明类型可选值默认值
name分类名称string
itemStyle分类样式(可选)object