の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";
}
fdp
。リンクされた例と上の例は両方とも機能します(この例の最後の行はラベルではなくサブグラフ名を使用する必要があり、グラフの行の長さを含めるとよいでしょう)。それは少しタイトです)。
fdp
サンプルからソースをコピー/貼り付けすると、線はエッジではなくサブグラフの中心に接続されます。OmniGraffleで.dotを開くと、それらは適切に接続されていますがneato
、dot
両方ともクラスターに余分なノードを作成します。