在graphviz / dot中,我可以使用{rank=same; ND1 ND2 ND3}
将节点放在相同的等级上。
查看dot language,我得出结论{...}
是子图语句的一部分。
如果是这种情况,我不明白为什么我需要一个子图来对节点进行排名。我认为这是因为我没有对graphviz中构成子图的内容有正确的心理图像。
所以,我的问题是:graphviz中的子图究竟是什么,为什么我必须启动一个子图来对与该子图没有任何关系的节点进行排序。
答案 0 :(得分:1)
从您引用的文档中:
在第二个角色中,子图可以提供设置属性的上下文。例如,子图可以指定blue是其中定义的所有节点的默认颜色。在图形绘制的上下文中,一个更有趣的例子是:
subgraph {
rank = same; A; B; C;
}
这个(匿名)子图指定如果使用点绘制,节点A,B和C都应该放在相同的等级上。
使用子图来设置节点的等级正是文档所引用的上下文类型(在本例中是明确的)。在这种情况下,语法支持特殊的上下文。