Dendrogram 生态树图
上一篇
IndentedTree 缩进树图
下一篇
OrganizationChart 组织结构图
Loading...
将事物或现象分解成树枝状结构,来系统地展示其构成关系或内在逻辑关系。
import { Dendrogram } from '@ant-design/graphs';
适用于展示数据的层级关系、明确问题的重点、寻求达成目标的合理步骤。
通用配置参考:图通用属性
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
data | 数据 | Data | - |
labelField | 指定节点标签内容 - 从数据中选择一个字段,对应字段的值作为节点的标签 - 动态生成,将以节点数据为参数调用该函数,并使用返回值作为节点的标签 | string | ((node: NodeData) => string) | 节点 ID |
direction | 语法糖,设置树图节点的排布方向。当设置 layout.direction 时会以后者为准 | vertical | horizontal | radial | horizontal |
compact | 是否为紧凑模式 | boolean | false |
defaultExpandLevel | 默认展开层级,若不指定,将展开全部 | number | - |
layout | 生态树布局配置 | Layout | - |
支持两种数据格式:
类型定义:
type TreeData = {id: string;children?: TreeData[];[key: string]: unknown;};
例如:
const data = {id: 'root',children: [{id: 'Child 1',value: 10,children: [{ id: 'Sub 1-1', value: 5 },{ id: 'Sub 1-2', value: 5 },],},{id: 'Child 2',value: 20,children: [{ id: 'Sub 2-1', value: 10 },{ id: 'Sub 2-2', value: 10 },],},],};
children
字段。const graphData = {nodes: [{ id: '1', data: { label: 'Node 1' }, children: ['2', '3'] },{ id: '2', data: { label: 'Node 2' }, children: ['4'] },{ id: '3', data: { label: 'Node 3' } },{ id: '4', data: { label: 'Node 4' } },],edges: [{ source: '1', target: '2' },{ source: '1', target: '3' },{ source: '2', target: '4' },],};
生态树布局,可配置的参数如下:
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
type | 布局类型 | string | dendrogram |
direction | 布局方向 | LR | RL | TB | BT | H | V | RL |
nodeSep | 节点间距 | number | 40 |
rankSep | 层与层之间的间距 | number | 200 |
radial | 是否按照辐射状布局。若 radial 为 true,建议 direction 设置为 LR 或 RL |