2009-10-02 100 views
24

我想显示边缘由右到左(即向后)使用点:权以点(Graphviz的)左边缘

C <- A -> B 

我所能做的最好的是:

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

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

所以我想分享这个解决方案(它似乎没有提到SO),并检查我是否失去了明显的东西。

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

+0

这并没有解决问题的节点的秩因为交流边沿仍然不会相对于图表反转,除非您将它写成'c - > a'。我希望可以只写'a < - c'。 :/ – Evi1M4chine 2013-11-27 04:28:07

回答

32

我也没办法给你的目录的用法,但我可以把它略短,如果你要水平对齐,用图表的rankdir财产,力的方向从左至右。

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

使图像边缘默认指向向后:

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

然后,覆盖默认向前点:

c -> d [dir="forward"];