В случае, если граф состоит из нескольких деревьев, которые не связаны, вы можете разделить их (как упоминалось в Graphviz: разбить плоский, но редко связанный граф на несколько строк? )
В зависимости от вашего конкретного графика, вы можете получить меньший график при использовании
ratio="compress"
(Вам нужно будет указать size
)
Для подробной оптимизации на конкретном графике вы можете добавить rank
атрибуты и распределить узлы вручную по различным разрядам.
Edit:
Существует инструмент graphviz, который называется unflatten , который, кажется, существует именно для этой цели:
unflatten - препроцессор для точки, который используется для улучшения аспекта
соотношение графов, имеющих много листьев или отключенных узлов. Обычный
макет для такого графика, как правило, очень широкий или высокий. unflatten
вставляет невидимые края или корректирует minlen по краям, чтобы улучшить
сжатие макета.
Никогда не было необходимости его использовать, но я думаю, что стоит попробовать.