在 for 的DOT语言中GraphViz,我试图表示一个依赖关系图。我需要能够在容器内拥有节点,并且能够使节点和/或容器依赖于其他节点和/或容器。
DOT
GraphViz
我subgraph用来代表我的容器。节点链接工作得很好,但我不知道如何连接子图。
subgraph
鉴于下面的程序,我需要能够使用箭头进行连接cluster_1,cluster_2但我尝试过的任何操作都会创建新节点而不是连接集群:
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"; }
DOT 用户手册给出了以下集群图示例,集群之间有边:
重要提示:初始compound=true声明是必需的。
compound=true
digraph G { compound=true; subgraph cluster0 { a -> b; a -> c; b -> d; c -> d; } subgraph cluster1 { e -> g; e -> f; } b -> f [lhead=cluster1]; d -> e; c -> g [ltail=cluster0,lhead=cluster1]; c -> e [ltail=cluster0]; d -> h; }
…以及节点和集群之间的边: