Чистый graphviz
намек, который вы сможете легко перенести в python:
Если вы хотите «пропустить» уровень, у вас есть две возможности (как минимум):
Вы можете использовать пустой узел - недостатком является то, что вы должны определить этот пустой узел b
, и что у вашего ребра, указывающего от a
до b
, не должно быть стрелки.Кроме того, если вы посмотрите внимательно, вы увидели пустой пиксель на пути от a
до c
.
Последний, который вы можете избежать, перенаправив дополнительный невидимый край с A
на E
наC
, создавая не только необходимость в этом дополнительном ребре, но и в увеличении веса на ребре D -> E -> E
, чтобы держать его прямо.
digraph so
{
b[ shape = point, width = 0]
a -> b[ dir = none ];
b -> c;
d -> e -> f;
A -> C;
A -> E -> C[ style = invis ];
D -> E -> F[ weight = 10 ];
}
Выбор за вами!