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

时间:2009-09-25 14:12:34

标签: graph graphviz dot

我遇到边缘相互重叠的问题。在我的previous question of how to force the nodes to be in the same column中,了解了如何将节点强制插入一列,但这会导致出现其他一些问题。

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

呈现给:

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

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

如何判断特定边缘是否转到节点的右侧?

1 个答案:

答案 0 :(得分:10)

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

  

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

     

C:e -> F [constraint=false]

     

- 埃姆登