【发布时间】:2017-11-02 08:56:49
【问题描述】:
我尝试使用 GraphViz 绘制圆形图,并决定最好使用 circo 绘制该图。
在 7 年前 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"]
}
【问题讨论】:
-
我认为这是不可能的。 “边缘重叠”几乎总是意味着想要 平面度,而 GraphViz 根本没有设置来保证平面度。见my other answer on this topic.
-
非常感谢!!!真的很感谢intel!我现在回想起在我学习离散数学时,平面性是一个很重要的部分。既然 graphviz 不会自动解决这个问题,我可以手动设置它,还是应该升级到 OmniFraffle 和 Visio 等图表应用程序?谢谢!
-
我不能代表其他软件包的功能集。我对 GraphViz 和 dot 了解很多,但不能评论其他的。祝你好运!