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