Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Graphviz中创建对称边?_Graphviz - Fatal编程技术网

如何在Graphviz中创建对称边?

如何在Graphviz中创建对称边?,graphviz,Graphviz,我希望两个节点之间的边围绕一条水平线对称。例如,此代码: digraph G { rankdir=LR s [style=invisible] A [peripheries=2] D [peripheries=2] B [peripheries=2] s -> A A -> C [label="1"] C -> D [label="0"] D -> C [label="1"] A ->

我希望两个节点之间的边围绕一条水平线对称。例如,此代码:

digraph G {
    rankdir=LR
    s [style=invisible]
    A [peripheries=2]
    D [peripheries=2]
    B [peripheries=2]
    s -> A
    A -> C [label="1"]
    C -> D [label="0"]
    D -> C [label="1"]
    A -> B [label="0"]
}
生成此图形:

我希望
C
D
之间的边缘看起来更像这样:


有没有办法让Graphviz做到这一点?

您可以放置第三条边,并使中间的边不可见:

C -> D [label="0"];
D -> C [style=invis];
D -> C [label="1"];

在我添加了
arrowhead=none
以摆脱幻影箭头之后,这就起到了作用。无意冒犯,但添加不可见元素来强制更改布局似乎有点笨拙。我希望语言中能有一些东西来实现这一点。无意冒犯:-)我同意你关于不可见元素的观点,我更愿意忍受第一个图形,而不是添加不可见的边。不幸的是,这是我所知道的实现这一目标的唯一途径。箭头的问题可能取决于使用的graphiz的确切版本-我不必添加这个。谢谢。我想我得花点时间权衡不对称和笨拙。