如何在graphviz中强制边缘的位置?

Dav*_*man 6 graph dot graphviz

我遇到边缘相互重叠的问题.在我之前关于如何强制节点在同一列中的问题中,找到了如何将节点强制到一列,但这会导致出现一些其他问题.

digraph exmp {
  A -> B -> C -> D -> E
  C -> F [constraint=false]
  A -> C [style="dotted", constraint=false]
  A -> D [style="dotted",  constraint=false]
  B -> D [constraint=false]
  D -> A [style="dashed", constraint=false]
  C -> A [style="dashed", constraint=false]
  E -> F [style="invis"] 
  F -> G
  E -> C [constraint="false"]
}
Run Code Online (Sandbox Code Playgroud)

呈现给:

alt text http://img98.imageshack.us/img98/8324/wrong2.gif

我的问题是E - > C和C - > F的边缘在节点C的同一点开始/结束,虚线和虚线边缘都在节点的右侧.

我怎么能告诉特定边缘到节点的右侧?

Dav*_*man 10

在graphviz邮件列表中的消息后,我发现至少可以删除E - > C和C - > F重叠问题.

最简单的解决方案是使用罗盘点端口:

C:e -> F [constraint=false]

- 埃姆登