Как управлять размещением узла в graphviz (т.е. избежать граничных пересечений),

Я использую graphviz (точка) для генерации графика, который Вы видите ниже. Узел в левом нижнем углу (красный эллипс) раздражение причин как его края пересекает несколько краев соседнего узла. Существует ли способ ограничить размещение узла в определенную область?

graph with edge crossing several other edges

43
задан TylerH 3 March 2019 в 20:20
поделиться

1 ответ

Я не знаю никаких средств, с помощью которых можно контролировать размещение отдельных узлов. Это не имеет смысла, потому что для этого нужно знать, как будет выглядеть конечный граф, а размещение одного узла вручную изменит отображение всего остального графа.

Я решил эту проблему, изменив порядок определения узлов в файле .dot и подправив атрибуты nodesep и ranksep на уровне графа. Это процесс уточнения - настройка нескольких вещей за один раз, пока все не будет выглядеть правильно.

Вы также можете создать граф в формате SVG, затем импортировать его в Visio (или другой редактор) и вручную переставить узлы, которые вас не устраивают.

8
ответ дан 26 November 2019 в 22:45
поделиться