自动布局
Diagrammix3 内置了强大的自动布局功能,可以自动排列图表以获得最佳可读性。它提供多种布局算法——从默认的基于 Sugiyama 的分层布局到树形、放射状、圆形、力导向、有机和网格排列——让您选择最适合图表的算法。
何时使用自动布局
自动布局在以下情况下非常有用:
- 您从 Mermaid 或其他格式导入了图表
- 经过多次编辑后图表变得杂乱
- 您想快速组织大量元素
- 您从草图开始,想要获得整洁的布局

应用自动布局
自动布局位于 检查器 中——没有专门用于它的排列菜单或工具栏按钮。
- 打开 检查器(右侧边栏)并选择 排列 标签
- 展开 布局 部分
- 从 布局 下拉菜单中选择一种算法
- 如有需要,调整该算法的选项(选项会随算法不同而变化)
- 点击 布局 按钮以排列图表
布局 按钮会排列 整个活动图表(当前标签页上的所有图形),因此您无需事先选择任何内容。如果对结果不满意,按 Cmd+Z 即可撤销。

布局算法
请从 布局 下拉菜单中选择与数据形态最匹配的算法:
| 算法 | 最适合 |
|---|---|
| 经典(默认) | 流程图、组织结构图、依赖关系图——基于 Sugiyama 的分层层次结构 |
| 分层图 | 您想明确控制流向和连接线样式的有向图(Dagre 风格) |
| 树形 | 严格的父节点 → 子节点层次结构 |
| 放射状 | 从中央根节点向外辐射的层次结构 |
| 圆形 | 节点排列成环形;适合循环和对等网络 |
| 力导向 | 面向通用图的有机、基于物理的间距 |
| 有机 | 面向密集图的自然、均匀分布布局 |
| 网格/打包 | 松散相关元素的整齐网格或紧凑排列 |
提示: 在同一图表上试用几种算法——
Cmd+Z可立即撤销每个结果,方便快速比较。
布局选项
算法下拉菜单下方显示的选项 会随所选算法而变化。最有用的选项包括:
方向(分层图和树形)
对于 分层图 和 树形 算法,方向 选择器控制层次结构的流向:
| 方向 | 最适合 |
|---|---|
| 从上到下 | 组织架构图、流程图 |
| 从下到上 | 决策树 |
| 从左到右 | 流程图、时间线 |
| 从右到左 | 从右到左的图表 |
间距
间距控件按算法命名——例如:
- 分层图:节点间距(同级节点之间)和 层级间距(层级之间)
- 树形:层级、同级和子树间距
- 网格/打包:列数以及水平和垂直间距
- 圆形/放射状:半径(或层级间距)和起始角度
连接线样式(分层图)
分层图 算法还允许您选择连接线的绘制方式——直线、正交(直角)或 曲线——并精细调整正交路由(图形缓冲区、线段和交叉惩罚值)。
实时力布局(力导向和有机)
对于 力导向 和 有机 算法,实时 开关可让模拟持续运行:拖动一个节点,布局会在其周围重新松弛。关闭 实时 即可保留结果。
自动布局曲线
自动布局 复选框影响的是连接线,而非节点位置:启用后,当您移动相连图形时,曲线连接线会自动重新计算其形状。关闭它即可完全手动控制曲线手柄。
提示: 同一个布局部分还有一个 连接所选图形 按钮,可按顺序将所选图形连接起来——这是在布局之前快速构建图的便捷方式。

经典(Sugiyama)算法
默认的 经典 算法是 Sugiyama 方法(分层图绘制)的完整实现,该算法:
- 分配层级:根据连接关系将节点放置在层次级别中
- 减少交叉:最小化层间的边交叉
- 定位节点:放置节点以最小化边长度
- 路由边:创建整洁的连接线路径
独立的 分层图 算法是一种相关的 Dagre 风格分层布局,它增加了明确的方向和连接线样式控件。两者都非常适合:
- 流程图
- 组织架构图
- 依赖关系图
- UML 类层次结构
- 状态机
获得更好结果的技巧
运行自动布局之前
- 删除不必要的连接:多余的边会增加复杂度
- 组合相关项目:组合会被视为单个节点
- 考虑方向:对于分层图和树形,思考哪个方向最适合您的图表
运行自动布局之后
- 微调位置:根据需要调整个别元素
- 检查标签:确保标签可读且不重叠
- 调整间距:如果元素过于拥挤,增加间距,然后再次点击 布局
局限性
- 仅限整个图表:布局按钮排列的是整个活动标签页,而非仅当前选择
- 循环图:包含循环引用的图表可能无法完美布局
- 密集图:非常密集的图表可能仍会有一些边交叉
- 自定义位置:运行布局会覆盖任何手动定位
撤销
如果对结果不满意,按 Cmd+Z 撤销布局并恢复之前的位置。