Dalam DOT
bahasa untuk GraphViz
, saya mencoba mewakili diagram ketergantungan. Saya harus dapat memiliki simpul di dalam wadah dan untuk dapat membuat simpul dan / atau wadah tergantung pada simpul dan / atau wadah lain.
Saya menggunakan subgraph
untuk mewakili wadah saya. Menghubungkan node berfungsi dengan baik, tapi saya tidak tahu bagaimana menghubungkan subgraph.
Dengan adanya program di bawah ini, saya harus dapat terhubung cluster_1
dan cluster_2
dengan panah, tetapi apa pun yang saya coba buat membuat simpul baru alih-alih menghubungkan kluster:
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
. Contoh yang ditautkan, dan yang di atas keduanya berfungsi (baris terakhir dalam contoh di sini perlu menggunakan nama subgraph bukan label dan mungkin lebih baik untuk memasukkan panjang garis untuk grafik); ini sedikit ketat seperti).
fdp
v2.28.0 dan menyalin / menempelkan sumber dari contoh, garis-garis terhubung ke tengah subgraph, bukan ke tepi. Jika Anda membuka .dot di OmniGraffle mereka terhubung dengan benar, sementara neato
dan dot
keduanya membuat node berlebihan untuk cluster.