在DOT
语言GraphViz
,我试图表示一个依赖关系图。我需要能够在容器内部有节点,并且能够使节点和/或容器依赖于其他节点和/或容器。GraphViz - 如何连接子图?
我使用subgraph
来表示我的容器。节点链接工作得很好,但我无法弄清楚如何连接子图。
下面给出的方案,我需要能够有一个箭头连接cluster_1
和cluster_2
,但任何事情我已经尝试创建的,而不是连接集群的新节点:
digraph G {
graph [fontsize=10 fontname="Verdana"];
node [shape=record fontsize=10 fontname="Verdana"];
subgraph cluster_0 {
node [style=filled];
"Item 1" "Item 2";
label = "Container A";
color=blue;
}
subgraph cluster_1 {
node [style=filled];
"Item 3" "Item 4";
label = "Container B";
color=blue;
}
subgraph cluster_2 {
node [style=filled];
"Item 5" "Item 6";
label = "Container C";
color=blue;
}
// Renders fine
"Item 1" -> "Item 2";
"Item 2" -> "Item 3";
// Both of these create new nodes
cluster_1 -> cluster_2;
"Container A" -> "Container C";
}
我有同样的问题,但他们有一个自然的例子,其中子图像节点一样,http://www.graphviz.org/content/fdpclust。 – nlucaroni 2011-06-17 18:26:53
@nlucaroni我不知道这个问题是否已经解决,这个例子给了我一个错误的图:边连接子图的中心,你不知道如何让它像在例子中一样工作? – k102 2012-02-14 09:14:28
@ k102,我知道。再次检查该页面;它说你需要使用'fdp'。链接的例子和上面的例子都工作(这里例子中的最后一行需要使用子图名称而不是标签,并且可能会很好地包含图表的行长);它有点紧)。 – nlucaroni 2012-02-14 18:24:39