Автоматическая компоновка
Diagrammix3 включает мощную функцию автоматической компоновки, которая автоматически располагает элементы диаграммы для оптимальной читаемости. Доступно несколько алгоритмов компоновки — от стандартной иерархической компоновки на основе метода Sugiyama до древовидной, радиальной, круговой, силовой, органической и сеточной, — так что вы можете выбрать тот, который лучше всего подходит для вашей диаграммы.
Когда использовать автоматическую компоновку
Автоматическая компоновка полезна, когда:
- Вы импортировали диаграмму из Mermaid или другого формата
- Ваша диаграмма стала запутанной после множества правок
- Вы хотите быстро упорядочить большое количество элементов
- Вы начинаете с чернового наброска и хотите получить аккуратный макет

Применение автоматической компоновки
Автоматическая компоновка находится в Инспекторе — отдельного меню «Расположение» или кнопки на панели инструментов для неё нет.
- Откройте Инспектор (правая боковая панель) и выберите вкладку Расположение
- Разверните раздел Компоновка
- Выберите алгоритм в выпадающем списке Компоновка
- При желании настройте параметры алгоритма (они меняются в зависимости от алгоритма)
- Нажмите кнопку Компоновка, чтобы упорядочить диаграмму
Кнопка Компоновка упорядочивает всю активную диаграмму (каждую фигуру на текущей вкладке), поэтому ничего предварительно выделять не нужно. Нажмите Cmd+Z, чтобы отменить действие, если результат вас не устраивает.

Алгоритмы компоновки
Выберите в выпадающем списке Компоновка алгоритм, соответствующий форме ваших данных:
| Алгоритм | Лучше всего для |
|---|---|
| Иерархический (по умолчанию) | Блок-схемы, организационные схемы, графы зависимостей — слоистая иерархия на основе метода Sugiyama |
| Слоистый | Ориентированные графы, где нужен явный контроль над направлением потока и стилем коннекторов (в стиле Dagre) |
| Древовидный | Строгие иерархии «родитель → ребёнок» |
| Радиальный | Иерархии, расходящиеся от центрального корня |
| Круговой | Узлы, расположенные по кольцу; хорош для циклов и одноранговых сетей |
| Силовой | Органическое, физически-моделируемое расположение для общих графов |
| Органический | Естественное, равномерно распределённое размещение для плотных графов |
| Сеточный / Упакованный | Аккуратные сеточные или упакованные компоновки слабосвязанных элементов |
Совет: Попробуйте несколько алгоритмов на одной и той же диаграмме —
Cmd+Zмгновенно отменяет каждый результат, так что сравнить их несложно.
Параметры компоновки
Параметры, показанные под выпадающим списком алгоритма, меняются в зависимости от выбранного алгоритма. Самые полезные из них:
Направление (Слоистый и Древовидный)
Для алгоритмов Слоистый и Древовидный селектор Направление управляет направлением потока иерархии:
| Направление | Лучше всего для |
|---|---|
| Сверху вниз | Организационные схемы, блок-схемы |
| Снизу вверх | Деревья решений |
| Слева направо | Схемы процессов, временные шкалы |
| Справа налево | Диаграммы справа налево |
Интервалы
Элементы управления интервалами называются по-разному в зависимости от алгоритма — например:
- Слоистый: Интервал между узлами (между соседними узлами) и Интервал между уровнями (между уровнями)
- Древовидный: интервалы между уровнями, соседними узлами и поддеревьями
- Сеточный / Упакованный: число столбцов, а также горизонтальный и вертикальный интервалы
- Круговой / Радиальный: радиус (или интервал между уровнями) и начальный угол
Стиль коннекторов (Слоистый)
Алгоритм Слоистый также позволяет выбрать, как рисуются коннекторы — Прямой, Ортогональный (под прямым углом) или Криволинейный — и точно настроить ортогональную маршрутизацию (буфер вокруг фигур, штрафы за сегменты и пересечения).
Динамическая силовая компоновка (Силовой и Органический)
Для алгоритмов Силовой и Органический переключатель Live поддерживает симуляцию запущенной: перетащите узел, и компоновка снова расслабится вокруг него. Выключите Live, чтобы зафиксировать результат.
Кривые автокомпоновки
Флажок Autolayout влияет на коннекторы, а не на размещение узлов: когда он включён, криволинейные коннекторы автоматически пересчитывают свою форму при перемещении связанных фигур. Выключите его для полного ручного контроля над манипуляторами кривых.
Совет: В том же разделе «Компоновка» есть кнопка Соединить выделенные фигуры, которая последовательно связывает выделенные фигуры — быстрый способ построить граф перед его компоновкой.

Иерархический алгоритм (Sugiyama)
Стандартный алгоритм Иерархический — это полная реализация метода Sugiyama (послойное рисование графов), который:
- Назначает слои: Размещает узлы на иерархических уровнях на основе связей
- Уменьшает пересечения: Минимизирует пересечения рёбер между слоями
- Позиционирует узлы: Размещает узлы так, чтобы минимизировать длину рёбер
- Прокладывает рёбра: Создаёт аккуратные пути для коннекторов
Отдельный алгоритм Слоистый — это родственная слоистая компоновка в стиле Dagre, которая добавляет явное управление направлением и стилем коннекторов. Оба идеально подходят для:
- Блок-схем
- Организационных схем
- Графов зависимостей
- Иерархий классов UML
- Автоматов состояний
Советы для лучших результатов
Перед запуском автоматической компоновки
- Удалите лишние связи: Дополнительные рёбра увеличивают сложность
- Сгруппируйте связанные элементы: Группы обрабатываются как единые узлы
- Продумайте направление: Для алгоритмов «Слоистый» и «Древовидный» подумайте, какое направление подходит для вашей диаграммы
После запуска автоматической компоновки
- Скорректируйте позиции: При необходимости подправьте отдельные элементы
- Проверьте надписи: Убедитесь, что надписи читаемы и не перекрываются
- Настройте интервалы: Увеличьте интервалы, если элементы расположены слишком тесно, и снова нажмите Компоновка
Ограничения
- Только вся диаграмма: Кнопка «Компоновка» упорядочивает всю активную вкладку, а не только текущее выделение
- Циклические графы: Диаграммы с циклическими ссылками могут компоноваться неидеально
- Плотные графы: В очень плотных диаграммах могут остаться некоторые пересечения рёбер
- Ручное размещение: Запуск компоновки переопределяет любое ручное позиционирование
Отмена
Если результат вас не устраивает, нажмите Cmd+Z, чтобы отменить компоновку и восстановить предыдущие позиции.