Автоматическая компоновка

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

Когда использовать автоматическую компоновку

Автоматическая компоновка полезна, когда:

  • Вы импортировали диаграмму из Mermaid или другого формата
  • Ваша диаграмма стала запутанной после множества правок
  • Вы хотите быстро упорядочить большое количество элементов
  • Вы начинаете с чернового наброска и хотите получить аккуратный макет

До автоматической компоновки

Применение автоматической компоновки

Автоматическая компоновка находится в Инспекторе — отдельного меню «Расположение» или кнопки на панели инструментов для неё нет.

  1. Откройте Инспектор (правая боковая панель) и выберите вкладку Расположение
  2. Разверните раздел Компоновка
  3. Выберите алгоритм в выпадающем списке Компоновка
  4. При желании настройте параметры алгоритма (они меняются в зависимости от алгоритма)
  5. Нажмите кнопку Компоновка, чтобы упорядочить диаграмму

Кнопка Компоновка упорядочивает всю активную диаграмму (каждую фигуру на текущей вкладке), поэтому ничего предварительно выделять не нужно. Нажмите Cmd+Z, чтобы отменить действие, если результат вас не устраивает.

После автоматической компоновки

Алгоритмы компоновки

Выберите в выпадающем списке Компоновка алгоритм, соответствующий форме ваших данных:

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

Совет: Попробуйте несколько алгоритмов на одной и той же диаграмме — Cmd+Z мгновенно отменяет каждый результат, так что сравнить их несложно.

Параметры компоновки

Параметры, показанные под выпадающим списком алгоритма, меняются в зависимости от выбранного алгоритма. Самые полезные из них:

Направление (Слоистый и Древовидный)

Для алгоритмов Слоистый и Древовидный селектор Направление управляет направлением потока иерархии:

НаправлениеЛучше всего для
Сверху внизОрганизационные схемы, блок-схемы
Снизу вверхДеревья решений
Слева направоСхемы процессов, временные шкалы
Справа налевоДиаграммы справа налево

Интервалы

Элементы управления интервалами называются по-разному в зависимости от алгоритма — например:

  • Слоистый: Интервал между узлами (между соседними узлами) и Интервал между уровнями (между уровнями)
  • Древовидный: интервалы между уровнями, соседними узлами и поддеревьями
  • Сеточный / Упакованный: число столбцов, а также горизонтальный и вертикальный интервалы
  • Круговой / Радиальный: радиус (или интервал между уровнями) и начальный угол

Стиль коннекторов (Слоистый)

Алгоритм Слоистый также позволяет выбрать, как рисуются коннекторы — Прямой, Ортогональный (под прямым углом) или Криволинейный — и точно настроить ортогональную маршрутизацию (буфер вокруг фигур, штрафы за сегменты и пересечения).

Динамическая силовая компоновка (Силовой и Органический)

Для алгоритмов Силовой и Органический переключатель Live поддерживает симуляцию запущенной: перетащите узел, и компоновка снова расслабится вокруг него. Выключите Live, чтобы зафиксировать результат.

Кривые автокомпоновки

Флажок Autolayout влияет на коннекторы, а не на размещение узлов: когда он включён, криволинейные коннекторы автоматически пересчитывают свою форму при перемещении связанных фигур. Выключите его для полного ручного контроля над манипуляторами кривых.

Совет: В том же разделе «Компоновка» есть кнопка Соединить выделенные фигуры, которая последовательно связывает выделенные фигуры — быстрый способ построить граф перед его компоновкой.

Инспектор автоматической компоновки

Иерархический алгоритм (Sugiyama)

Стандартный алгоритм Иерархический — это полная реализация метода Sugiyama (послойное рисование графов), который:

  1. Назначает слои: Размещает узлы на иерархических уровнях на основе связей
  2. Уменьшает пересечения: Минимизирует пересечения рёбер между слоями
  3. Позиционирует узлы: Размещает узлы так, чтобы минимизировать длину рёбер
  4. Прокладывает рёбра: Создаёт аккуратные пути для коннекторов

Отдельный алгоритм Слоистый — это родственная слоистая компоновка в стиле Dagre, которая добавляет явное управление направлением и стилем коннекторов. Оба идеально подходят для:

  • Блок-схем
  • Организационных схем
  • Графов зависимостей
  • Иерархий классов UML
  • Автоматов состояний

Советы для лучших результатов

Перед запуском автоматической компоновки

  1. Удалите лишние связи: Дополнительные рёбра увеличивают сложность
  2. Сгруппируйте связанные элементы: Группы обрабатываются как единые узлы
  3. Продумайте направление: Для алгоритмов «Слоистый» и «Древовидный» подумайте, какое направление подходит для вашей диаграммы

После запуска автоматической компоновки

  1. Скорректируйте позиции: При необходимости подправьте отдельные элементы
  2. Проверьте надписи: Убедитесь, что надписи читаемы и не перекрываются
  3. Настройте интервалы: Увеличьте интервалы, если элементы расположены слишком тесно, и снова нажмите Компоновка

Ограничения

  • Только вся диаграмма: Кнопка «Компоновка» упорядочивает всю активную вкладку, а не только текущее выделение
  • Циклические графы: Диаграммы с циклическими ссылками могут компоноваться неидеально
  • Плотные графы: В очень плотных диаграммах могут остаться некоторые пересечения рёбер
  • Ручное размещение: Запуск компоновки переопределяет любое ручное позиционирование

Отмена

Если результат вас не устраивает, нажмите Cmd+Z, чтобы отменить компоновку и восстановить предыдущие позиции.