如何在GraphViz中创建双向边?

如何在GraphViz中创建双向边?,graphviz,dot,Graphviz,Dot,如何在GraphViz中创建双向边 我试着用两个方向做一个弯曲的边缘 但我唯一能做的是: 我想使x1和x2之间的边沿两个方向弯曲 我使用的代码是: digraph { rankdir=LR node [shape=box ] x1;x2 node [shape=oval ] y x1->y[dir=back label=0.77] x2->y[dir=back label=0.42] x1:w -> x2:w[dir=both constraint=false] }

如何在GraphViz中创建双向边

我试着用两个方向做一个弯曲的边缘

但我唯一能做的是:

我想使x1和x2之间的边沿两个方向弯曲

我使用的代码是:

digraph {

rankdir=LR

node [shape=box ]
x1;x2
node [shape=oval ]
y

x1->y[dir=back label=0.77]
x2->y[dir=back label=0.42]

x1:w -> x2:w[dir=both constraint=false]

}

如果有任何帮助,我将不胜感激。

我认为应该有更好的解决方案,但以下几点确实对我有用:

digraph {

rankdir=LR

node [shape=box ]
x1;x2
node [shape=oval ]
y

x1->y[dir=back label=0.77]
x2->y[dir=back label=0.42]

x1:w -> x2:w[dir=both constraint=false]
x2:w -> x1:w[dir=both constraint=false]
}
根据以下人士的回答:


但它有两条边。如果我为该边添加标签,您的方法将生成两条边。例如,x2:w->x1:w[dir=both constraint=false label=0.34],这是与原始问题相比的新约束。确实应该有更好的解决方案。当删除
约束=false
时,会出现双标题箭头。可能通过摆弄一下位置等,你就能得到正确的图片。对我来说有点奇怪,它不起作用,我也无法直接在文档中找到正确的答案()。您使用的是什么版本的Graphviz?我注意到,如果我有
[dir=both label=”“]
,那么箭头会在两个方向上显示,但会交换属性
[label=”“dir=both]
然后只显示一个方向。奇怪的
digraph g {

rankdir=LR

node [shape=box ]
{rank=same x1;x2}
node [shape=oval ]
y

x1 -> y[dir=back label=0.77]
x2 -> y[dir=back label=0.42]

x1:w -> x2:w[dir=both label=0.34]

}