web-dev-qa-db-ja.com

ドットの右から左のエッジ(Graphviz)

ドットを使用して右から左(つまり後方)に向かうエッジを表示しようとしています:

C <- A -> B

私にできる最善のことは:

digraph {
  a -> b;
  c -> a [dir="back"];
  {rank=same;c a b}
}

..これは問題ありませんが、Edgeが反対方向に向けられているときにc -> aを使用するのは好きではありません。

だから私はこの解決策(SOでは言及されていないようです)を共有し、明らかな何かが欠けているかどうかを確認したいと思いました。

参照: http://www.graphviz.org/doc/info/attrs.html#k:dirType

31
Nickolay

Dirの使用法に代わる方法はありませんが、少し短くすることができます。水平方向の配置が必要な場合は、グラフの rankdir プロパティを使用して、方向を左から右に強制します。

digraph {
  rankdir=LR;
  a->b;
  c->a [dir="back"];
}
38
user204683

デフォルトでエッジを後方に向けるには:

digraph {
  Edge [dir="back"];
  a -> b;
  c -> a;
}

次に、デフォルトをオーバーライドしてフォワードを指します。

c -> d [dir="forward"];
7
Roger Dahl