点到右边到左边(Graphviz)

Nic*_*lay 32 graphviz graph-drawing right-to-left

我正在尝试使用点显示从右到左(即向后)的边缘:

C <- A -> B
Run Code Online (Sandbox Code Playgroud)

我能做的最好的事情是:

digraph {
  a -> b;
  c -> a [dir="back"];
  {rank=same;c a b}
}
Run Code Online (Sandbox Code Playgroud)

..这很好,除了我不喜欢使用c -> a边缘指向另一个方向.

所以我想分享这个解决方案(似乎没有在SO上提及),并检查我是否遗漏了一些明显的东西.

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

小智 39

我没有你使用dir的替代方案,但我可以稍微缩短一点,如果你想要水平对齐,使用graph 的rankdir属性,从左到右强制方向.

digraph {
  rankdir=LR;
  a->b;
  c->a [dir="back"];
}
Run Code Online (Sandbox Code Playgroud)


Rog*_*ahl 8

要使边缘默认指向后方:

digraph {
  edge [dir="back"];
  a -> b;
  c -> a;
}
Run Code Online (Sandbox Code Playgroud)

然后,覆盖默认值以指向前方:

c -> d [dir="forward"];
Run Code Online (Sandbox Code Playgroud)