如何使用 circo 布局防止 graphviz 中的边缘重叠
How to prevent edge lapping in graphviz with circo layout
我正在尝试使用 GraphViz 绘制圆形图,并决定最好使用 circo
绘制此图。
听取了 7 年前 post 的建议,How to prevent edges in graphviz to overlap each other,并使用全局 overlap=false
和 splines=true
,边缘仍然相互重叠。
整个图可见here,定义为:
digraph question6 {
layout="circo"
overlap=false
splines=true
node [shape="circle"]
G1 [label="1, G"]
G2 [label="2, G"]
D11 [label="1, D1"]
D12 [label="2, D1"]
D21 [label="1, D2"]
D22 [label="2, D2"]
G1 -> D12 [label="c"]
G1 -> G2 [label="a"]
G2 -> D12 [label="a"]
D11 -> G1 [label="d"]
D11 -> D21 [label="e"]
D11 -> D12 [label="c"]
D12 -> G2 [label="d"]
D12 -> D22 [label="c"]
D21 -> G1 [label="d"]
D21 -> D22 [label="c"]
D22 -> D21 [label="b"]
D22 -> G2 [label="d"]
}
至于目前,还没有可行的方法。
One of the very difficult things that GraphViz is not yet able to
resolve is to determine if the graph is planar.
我正在尝试使用 GraphViz 绘制圆形图,并决定最好使用 circo
绘制此图。
听取了 7 年前 post 的建议,How to prevent edges in graphviz to overlap each other,并使用全局 overlap=false
和 splines=true
,边缘仍然相互重叠。
整个图可见here,定义为:
digraph question6 {
layout="circo"
overlap=false
splines=true
node [shape="circle"]
G1 [label="1, G"]
G2 [label="2, G"]
D11 [label="1, D1"]
D12 [label="2, D1"]
D21 [label="1, D2"]
D22 [label="2, D2"]
G1 -> D12 [label="c"]
G1 -> G2 [label="a"]
G2 -> D12 [label="a"]
D11 -> G1 [label="d"]
D11 -> D21 [label="e"]
D11 -> D12 [label="c"]
D12 -> G2 [label="d"]
D12 -> D22 [label="c"]
D21 -> G1 [label="d"]
D21 -> D22 [label="c"]
D22 -> D21 [label="b"]
D22 -> G2 [label="d"]
}
至于目前,还没有可行的方法。
One of the very difficult things that GraphViz is not yet able to resolve is to determine if the graph is planar.