Spec-Zone.ru › Graphviz

overlap

Определяет, следует ли и каким образом устранять перекрытия узлов

type: string | bool, default: true

Сначала узлы увеличиваются с помощью атрибута sep. Если true , перекрытия сохраняются. Если значение равно "scale", перекрытия устраняются равномерным масштабированием по осям x и y. Если значение преобразуется в "false" и этот алгоритм доступен, для устранения перекрытий узлов используется Prism — алгоритм на основе графа близости. Его также можно вызвать явно с помощью overlap=prism. Этот метод начинается с небольшого увеличения масштаба, регулируемого атрибутом overlap_scaling, которое позволяет устранить значительную часть перекрытий. Параметр prism также принимает необязательный неотрицательный целочисленный суффикс. С его помощью можно задать число попыток устранения перекрытий. По умолчанию overlap="prism" эквивалентно overlap="prism1000". Если задано overlap="prism0", выполняется только этап масштабирования.

Если Prism недоступен или версия Graphviz ниже 2.28, "overlap=false" использует метод на основе диаграмм Вороного. Его всегда можно вызвать явно с помощью "overlap=voronoi".

Если overlap="scalexy", масштабы по осям x и y изменяются независимо для устранения перекрытий.

Если overlap="compress", компоновка будет максимально уменьшена без появления перекрытий, при условии, что изначально их не было.

Примечание. Остальные допустимые значения overlap соответствуют алгоритмам, которые в настоящее время могут приводить к некорректным соотношениям сторон. Кроме того, мы не рекомендуем использовать "ortho*" и "portho*".

Если значение равно "vpsc", перекрытия устраняются с помощью квадратичной оптимизации, минимизирующей смещение узлов.

Если значение равно "orthoxy" или "orthoyx", перекрытия устраняются путем оптимизации двух систем ограничений: одной для оси x, другой для оси y. Суффикс указывает, какая ось обрабатывается первой. Если значение равно "ortho", метод аналогичен "orthoxy", но для уменьшения смещения между двумя проходами используется эвристика. Если значение равно "ortho_yx", метод совпадает с "ortho", но роли осей x и y меняются местами. Значения "portho", "porthoxy", "porthoxy" и "portho_yx" аналогичны четырём предыдущим, но при этом обеспечивается только псевдоортогональный порядок.

Если компоновка выполняется neato с параметром mode="ipsep", можно использовать overlap=ipsep. В этом случае ограничения на устранение перекрытий включаются непосредственно в алгоритм компоновки. Примечание. В настоящее время поддерживается только один уровень кластеризации.

За исключением fdp и sfdp, компоновки по умолчанию предполагают overlap="true". Сначала fdp выполняет несколько проходов с использованием встроенного метода на основе сил, чтобы попытаться устранить перекрытия. Поэтому fdp принимает overlap с целочисленным префиксом, за которым следует двоеточие; префикс задаёт число попыток. Если префикса нет, предварительные попытки не выполняются. Если после двоеточия ничего нет, ни один из перечисленных выше методов не применяется. По умолчанию fdp использует overlap="9:prism". Обратите внимание, что overlap="true", overlap="0:true" и overlap="0:" полностью отключают устранение перекрытий.

По умолчанию sfdp использует overlap="prism0".

За исключением методов Voronoi и prism, все эти преобразования сохраняют ортогональный порядок исходной компоновки. То есть если координаты x двух узлов изначально совпадают, они останутся равными; если координата x одного узла изначально меньше координаты x другого, это соотношение сохранится и в преобразованной компоновке. Аналогичные свойства выполняются для координат y. В случае "porth*" это не совсем верно: ортогональный порядок сохраняется только для узлов, связанных ребром.

Допустимо для:
  • Графов

Примечание: только fdp, neato, sfdp, circo, twopi.

© 2025 The Graphviz Authors
Licensed under the Eclipse Public License 1.0.
https://www.graphviz.org/docs/attrs/overlap/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API