Мне потребовалось некоторое время, чтобы сделать график ниже, как сейчас, и я почти доволен. Единственное, что меня беспокоит, это то, что связь между D и B должна быть выше всех узлов ради эстетики.Изменить расположение кромок от нижних до верхних узлов в Graphviz
Забавно, что поставка портов для края не производит впечатление dot
, который просто заставляет кросс пересекаться с подключенными узлами.
У вас есть идея, как этого избежать?
digraph {
graph [splines=ortho, nodesep=0.2, fontname="DejaVu Sans", rankdir=LR]
node [shape=box, fontsize=8]
edge [arrowsize=0.5]
subgraph cluster {
style=invis;
A -> B -> C;
A -> B -> C;
A -> B -> C -> D;
D -> E;
D:nw -> B:ne;
}
{
D -> F -> { C; E };
}
}
PS: Вам нужна последняя версия GraphViz для того, чтобы get orthogonal edges.
+1: Ортогональные края являются новыми для меня. Выглядит хорошо, кроме проблемы, которую вы заметили. Я отмечаю, что в документации, на которую вы ссылаетесь, говорится: «В настоящее время маршрутизация не обрабатывает порты или, в точках, метки границ», которые могут быть причиной проблемы. Я думал, что вставка невидимого узла между D и B может помочь решить проблему, но я пробовал различные способы сделать это, и ни один из них не улучшил ситуацию. Я подумаю об этом подробнее. – Simon