Автоматическое размещение графа - это вообще нетривиальная задача. Graphviz хоть и старая программа, но там довольно продвинутые алгоритмы используются. У них даже есть список публикаций.
https://graphviz.gitlab.io/theory/Она сишная и поэтому работает быстро, довольно быстро размещает и рисует большие графы.
Язык описания графа там тоже простой, а с py-оберткой его даже знать не обязательно.