使用Graphviz';s点或neato到布局簇

使用Graphviz';s点或neato到布局簇,graphviz,dot,neato,Graphviz,Dot,Neato,我正在尝试使用dot绘制企业中服务和服务器的部署图。在第一次迭代中,我使用neato将每个服务绘制为一个长方体,再加上允许使用样条线,使我能够获得一个以边作为依赖项的良好布局 现在,我需要将物理服务器放在每个盒子中。首先,我将每个服务作为一个子图,名称以cluster开头,然后将代表物理服务器的节点放在每个框中。再一次,在我的帮助下,我伪造了连接集群的边,而不是节点。问题是,这只适用于dot。当我使用neato进行布局时,它不知道边在簇之间,所以它只移动我用来锚定边的簇的节点。结果是集群框巨大且

我正在尝试使用dot绘制企业中服务和服务器的部署图。在第一次迭代中,我使用neato将每个服务绘制为一个长方体,再加上允许使用样条线,使我能够获得一个以边作为依赖项的良好布局

现在,我需要将物理服务器放在每个盒子中。首先,我将每个服务作为一个子图,名称以cluster开头,然后将代表物理服务器的节点放在每个框中。再一次,在我的帮助下,我伪造了连接集群的边,而不是节点。问题是,这只适用于dot。当我使用neato进行布局时,它不知道边在簇之间,所以它只移动我用来锚定边的簇的节点。结果是集群框巨大且重叠


我希望这是有道理的。有没有办法强迫neato对集群中的节点进行分组?

我重新思考了我正在做的事情,我没有为每个服务使用子图,而是为每个服务器使用子节点,而是使用了记录格式。每个节点现在看起来像

+------------------------------+
|         Service name         |
+------------------------------+
| server1 | server2 | server 3 |
+------------------------------+

而且更容易布置这些内容:)

这里有一个指向记录文档的链接:谢谢,如果其他人发现这一点,这是一个值得补充的答案:)类似HTML的标签比记录更灵活。