自动布局

Diagrammix3 内置了强大的自动布局功能,可以自动排列图表以获得最佳可读性。它提供多种布局算法——从默认的基于 Sugiyama 的分层布局到树形、放射状、圆形、力导向、有机和网格排列——让您选择最适合图表的算法。

何时使用自动布局

自动布局在以下情况下非常有用:

  • 您从 Mermaid 或其他格式导入了图表
  • 经过多次编辑后图表变得杂乱
  • 您想快速组织大量元素
  • 您从草图开始,想要获得整洁的布局

自动布局前

应用自动布局

自动布局位于 检查器 中——没有专门用于它的排列菜单或工具栏按钮。

  1. 打开 检查器(右侧边栏)并选择 排列 标签
  2. 展开 布局 部分
  3. 从 布局 下拉菜单中选择一种算法
  4. 如有需要,调整该算法的选项(选项会随算法不同而变化)
  5. 点击 布局 按钮以排列图表

布局 按钮会排列 整个活动图表(当前标签页上的所有图形),因此您无需事先选择任何内容。如果对结果不满意,按 Cmd+Z 即可撤销。

自动布局后

布局算法

请从 布局 下拉菜单中选择与数据形态最匹配的算法:

算法最适合
经典(默认)流程图、组织结构图、依赖关系图——基于 Sugiyama 的分层层次结构
分层图您想明确控制流向和连接线样式的有向图(Dagre 风格)
树形严格的父节点 → 子节点层次结构
放射状从中央根节点向外辐射的层次结构
圆形节点排列成环形;适合循环和对等网络
力导向面向通用图的有机、基于物理的间距
有机面向密集图的自然、均匀分布布局
网格/打包松散相关元素的整齐网格或紧凑排列

提示: 在同一图表上试用几种算法——Cmd+Z 可立即撤销每个结果,方便快速比较。

布局选项

算法下拉菜单下方显示的选项 会随所选算法而变化。最有用的选项包括:

方向(分层图和树形)

对于 分层图 和 树形 算法,方向 选择器控制层次结构的流向:

方向最适合
从上到下组织架构图、流程图
从下到上决策树
从左到右流程图、时间线
从右到左从右到左的图表

间距

间距控件按算法命名——例如:

  • 分层图:节点间距(同级节点之间)和 层级间距(层级之间)
  • 树形:层级、同级和子树间距
  • 网格/打包:列数以及水平和垂直间距
  • 圆形/放射状:半径(或层级间距)和起始角度

连接线样式(分层图)

分层图 算法还允许您选择连接线的绘制方式——直线、正交(直角)或 曲线——并精细调整正交路由(图形缓冲区、线段和交叉惩罚值)。

实时力布局(力导向和有机)

对于 力导向 和 有机 算法,实时 开关可让模拟持续运行:拖动一个节点,布局会在其周围重新松弛。关闭 实时 即可保留结果。

自动布局曲线

自动布局 复选框影响的是连接线,而非节点位置:启用后,当您移动相连图形时,曲线连接线会自动重新计算其形状。关闭它即可完全手动控制曲线手柄。

提示: 同一个布局部分还有一个 连接所选图形 按钮,可按顺序将所选图形连接起来——这是在布局之前快速构建图的便捷方式。

自动布局检查器

经典(Sugiyama)算法

默认的 经典 算法是 Sugiyama 方法(分层图绘制)的完整实现,该算法:

  1. 分配层级:根据连接关系将节点放置在层次级别中
  2. 减少交叉:最小化层间的边交叉
  3. 定位节点:放置节点以最小化边长度
  4. 路由边:创建整洁的连接线路径

独立的 分层图 算法是一种相关的 Dagre 风格分层布局,它增加了明确的方向和连接线样式控件。两者都非常适合:

  • 流程图
  • 组织架构图
  • 依赖关系图
  • UML 类层次结构
  • 状态机

获得更好结果的技巧

运行自动布局之前

  1. 删除不必要的连接:多余的边会增加复杂度
  2. 组合相关项目:组合会被视为单个节点
  3. 考虑方向:对于分层图和树形,思考哪个方向最适合您的图表

运行自动布局之后

  1. 微调位置:根据需要调整个别元素
  2. 检查标签:确保标签可读且不重叠
  3. 调整间距:如果元素过于拥挤,增加间距,然后再次点击 布局

局限性

  • 仅限整个图表:布局按钮排列的是整个活动标签页,而非仅当前选择
  • 循环图:包含循环引用的图表可能无法完美布局
  • 密集图:非常密集的图表可能仍会有一些边交叉
  • 自定义位置:运行布局会覆盖任何手动定位

撤销

如果对结果不满意,按 Cmd+Z 撤销布局并恢复之前的位置。