7

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

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"]
}

呈现给:

替代文字 http://img98.imageshack.us/img98/8324/wrong2.gif

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

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

4

1 回答 1

11

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

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

C:e -> F [constraint=false]

——埃姆登

于 2009-10-07T09:28:05.523 回答