Graphviz允许边缘和节点重叠。

4
我想在一个项目中使用graphviz,但无法得到我想要的效果。我有一个可以用graphviz绘制的图形,但我也有同样的图形版本,其中包含一些额外的边缘。我希望第二个图形以与第一个图形相同的节点位置和边缘位置绘制,但是新的边缘不会避免与节点重叠。
为了更好地理解我的意思,请想象一个Powerpoint幻灯片上有一个图形,然后在下一页上出现了相同的图形,但这些额外的边缘出现在第一个图形的顶部,而不修改图形的旧部分的外观。这就是我想要的效果。
我认为可以通过使某些边缘忽略任何重叠约束来实现此效果。我无法弄清楚如何控制特定边缘(甚至所有边缘)之间的重叠。
你有什么想法吗?

1
请问您能否创建一个样例模型图并附上吗? - VKen
原始图形可能看起来像这样:[链接](https://dl.dropbox.com/u/665697/test.svg),而具有重叠边缘的图形将是这样的:[链接](https://dl.dropbox.com/u/665697/overlapping-edges.png)。原始图形的格式与更新后的图形相同,只有一些额外的边缘可以与节点重叠。问题在于我喜欢原始图形的格式,而额外的边缘增加了太多的约束条件,使得布局难以跟随。我想保留原始图形的布局,只添加这些边缘。 - Dreckgos
1个回答

4

您可以通过dot -Tdot(或者可能是dot -Txdot)让dot输出另一个带有所有元素位置分配的.dot文件。将您额外的边添加到该文件中,然后再次通过dot运行它以生成您的第二个图形。


哇,这是一个很棒的功能。谢谢你提到它。 - jnns

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接