Граф, который вы представили, представляет собой не дерево, а ориентированный ациклический граф (в дереве существует только один отдельный путь между каждой парой узлов).Если ваш ввод был бы деревом, то использование dot
даст то, что вы хотите.Если вы также хотите добавить ненулевые ребра, например "C:300" -> "H:135"
в вашем примере, вы можете указать для них меньший вес, чтобы убедиться, что dot
не пытается оптимизировать макет относительно этих ребер.
"C:300" -> "H:135" [weight=0];
"C:300" -> "I:91" [weight=0];
Обратите внимание, что эти два ребра становятся очень длинными (и до dot
, некрасиво) с этим параметром, и это причина, по которой узел "C:300"
размещается так, как он есть в вашем исходном графике.