用的DOT
语言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";
}
2
我遇到了同样的问题,但是他们有一个自然的例子,子图的行为就像节点graphviz.org/content/fdpclust。
—
nlucaroni 2011年
@nlucaroni我想知道这个问题是否解决。这个例子给了我错误的图形:边连接子图形的中心。您不知道如何使其像示例中那样工作吗?
—
k102 2012年
@ k102,我知道。再次查看该页面;它说你需要使用
—
nlucaroni 2012年
fdp
。链接的示例以及上面的示例均起作用(此处示例的最后一行需要使用子图名称而不是标签,并且包括图形的行长可能会很好);它有点紧)。
@nlucaroni使用
—
Phrogz
fdp
v2.28.0并从示例中复制/粘贴源代码,这些线连接到子图的中心,而不是边缘。如果你的OmniGraffle打开.DOT它们已正确连接,同时neato
与dot
两者为集群创建多余节点。