AntV G6 初始化时,`layout` 配置属性用于决定图中节点和边如何布局。不同的布局算法会有不同的配置选项,但一些通用的配置属性包括:
- **type**: (必需)布局算法的类型。G6 支持多种布局算法,如:
- `random`: 随机布局。
- `radial`: 径向布局。
- `mds`: 多维尺度布局。
- `circular`: 环形布局。
- `fruchterman`: 弗洛赫特曼力导向布局。
- `force`: 传统的力导向布局。
- `gForce`: G6优化过的力导向布局。
- `force2`: 另一种力导向布局。
- `forceAtlas2`: ForceAtlas2 力导向布局。
- `dagre`: 有向无环图(DAG)布局。
- `concentric`: 同心圆布局。
- `grid`: 网格布局。
- **direction**: (部分布局适用)布局的方向,如 `'LR'` (从左到右),`'TB'` (从上到下) 等,具体取决于所选的布局类型。
- **preventOverlap**: (布尔值)是否防止节点重叠,某些布局算法支持。
- **nodeSize**: 节点大小,可以是单个数值(代表直径)或者数组 `[width, height]`,影响节点间距离的计算。
- **nodes**: (某些布局)参与布局的节点数据或节点ID列表。
- **edges**: (某些布局)参与布局的边数据或边ID列表。
- **center**: 布局中心点,默认通常是画布中心,可以自定义为 `[x, y]`。
- **preventOverlapPadding**: 防止节点重叠时的额外间距。
- **workerEnabled**: (布尔值)是否在Web Worker中运行布局算法,以提高性能。
- **animate**: (布尔值)布局过程是否开启动画。
- **animationDuration**: 动画持续时间(毫秒)。
- **animationEasing**: 动画缓动函数。
- **maxIteration**: 最大迭代次数,超出后布局停止。
- **gravity**: (力导向布局)节点受中心点吸引的力的强度。
- **linkDistance**: (力导向布局)边的长度或节点间的理想距离。
- **edgeStrength**: (力导向布局)边的影响强度。
具体到每种布局算法,还有更多特定的配置选项。例如,`dagre` 布局有 `ranksep` 和 `nodesep` 控制层与层之间以及节点之间的距离,而 `forceAtlas2` 可能有特定的引力和斥力参数等。
要获取最准确和详细的配置信息,建议直接查阅 AntV G6 的官方文档,因为配置选项可能会随着版本更新而有所变化。