Я не уверен, что вы можете сделать это с вашими данными, но если вы измените порядок вставки узлов в график, это может реально повлиять на сгенерированный график. Если вы не хотите предоставлять какую-либо информацию для заказа в Graphviz и хотите, чтобы Graphviz попытался решить оптимальное размещение узлов, чтобы минимизировать конфликт, используйте взамен Graphviz neato
. Он использует модель пружины, чтобы выяснить, где должны быть размещены узлы.
Похоже, вы должны иметь возможность использовать neato
внутри pydot как:
my_graph.write('my_graph.png', prog='neato', format='png')
См. Документацию pydot здесь.