Graphviz 如何在一个主图形中按点布局多个子图?
我正在尝试使用Graphviz 如何在一个主图形中按点布局多个子图?,graphviz,dot,subgraph,Graphviz,Dot,Subgraph,我正在尝试使用dot创建一个图形。下面给出了我到目前为止所绘制的图形,并给出了代码 代码 digraph top { node [shape=record ,penwidth = 2,fontsize=25]; graph [labeljust=l] ratio="fill"; subgraph cluster_1 { label = "Box 1"; fontsize=40; subgraph cluster_2 { label = "B
dot
创建一个图形。下面给出了我到目前为止所绘制的图形,并给出了代码
代码
digraph top {
node [shape=record ,penwidth = 2,fontsize=25];
graph [labeljust=l]
ratio="fill";
subgraph cluster_1 {
label = "Box 1";
fontsize=40;
subgraph cluster_2 {
label = "Box 2";
fontsize=38
subgraph cluster_3 {
label = "Box 3";
fontsize=36;
subgraph cluster_4 {
label = "Box 4";
fontsize=34;
subgraph cluster_7 {
label = "Box 5";
fontsize=30;
color=blue;
style="dashed";
subgraph cluster8 {
color=red;
label = "Box 6";
subgraph cluster9 {
label = "Box 7";
subgraph cluster10 {
label = "Box 8";
l4 [label = "{ Label : X \l| \
Label : 2014-12-05 \l| \
Label : 2015-01-04 \l| \
Label : true \l} \
"];
}
subgraph cluster11 {
label = "Box 9";
l5 [label = "{ Label : X \l| \
Label : 2015-03-06 \l| \
Label : 2015-01-04 \l| \
Label : true \l} \
"];
}
subgraph cluster12 {
label = "Box 10";
l6 [label = "{ Label : X \l| \
Label : 2015-07-03 \l| \
Label : 2015-08-31 \l| \
Label : true \l} \
"];
}
}
}
subgraph cluster13 {
color=green;
label = "Box 11";
subgraph cluster {
label = "Box 12";
"Label : 2 days"
}
}
subgraph cluster14 {
label = "Box 13";
style=bold;
fontsize=20;
color=grey;
subgraph cluster15 {
label = "Box 14";
subgraph cluster16 {
label = "Box 15";
subgraph cluster17 {
label = "if";
subgraph cluster18 {
label = "and";
subgraph cluster19 {
label = "Box 16";
subgraph cluster20 {
label = "Box 17";
l7 [label = "{ Label : A \l| \
Label : B \l| \
Label : C \l| \
Label : D \l} \
"];
}
}
subgraph cluster21 {
label = "Box 18";
subgraph cluster {
label = "Box 19";
"Label : T"
}
}
}
}
subgraph cluster29 {
label = "then";
"Label : O"
}
}
}
subgraph cluster22 {
label = "Box 19";
subgraph cluster30 {
label = "Box 20";
subgraph cluster31 {
label = "if";
subgraph cluster32 {
label = "and";
subgraph cluster33 {
label = "Box 21";
subgraph cluster34 {
label = "Box 22";
l8 [label = "{ Label : A \l| \
Label : B \l| \
Label : C \l| \
Label : D \l} \
"];
}
}
subgraph cluster35 {
label = "Box 23";
subgraph cluster {
label = "Box 24";
"Label : T"
}
}
}
}
subgraph cluster36 {
label = "then";
"Label : C"
}
}
}
}
}
subgraph cluster_5 {
label = "Box 24"
fontsize=30;
color=red;
subgraph cluster_6 {
label = "Box 25";
subgraph cluster_8 {
label = "Box 26";
subgraph cluster {
label = "Box 27";
"Label : 200"
}
}
}
subgraph cluster {
label = "Box 28";
subgraph cluster {
label = "Box 29";
l1 [label = "{ Label : F \l| \
Label : N \l |\
Label : H \l |\
Label : N \l} \
"];
subgraph cluster {
label = "Box 30";
subgraph cluster {
label = "Box 31";
l2 [label = "{ C \l| \
I\l} \
"];
}
l3 [label = "{ label : F \l| \
label : F \l| \
label : A \l| \
label : F \l} \
"];
}
}
}
}
}
}
}
}
}
我面临的问题是关于子图的布局。我有兴趣排列方框“方框13
”、“方框11
”
和垂直方向的“框6
”。我想把“方框6
”和“方框11
”放在第一行,把“方框13
”放在第二行。
这种安排将在“方框5”内。我知道可用的布局选项。我可以把这三个盒子(6,11,13)放进单独的文件中并合并。但我不清楚如何在“框5”内布局这三个框
提前感谢。您需要一些脚手架,即看不见的边(可能还有节点), 尝试在最后一个花括号之前添加以下内容:
"Label : C"->"Label : 2 days"->l6[color=none]
我正在基于XML创建这个图,需要为不同的XML创建更多性质类似的图。关于更适合的工具的建议也是受欢迎的。浏览文档,它看起来像是
gvpr
,这可能有助于将较小的图形组合成一个主图形。但我还不了解它的内部工作原理。您是否曾尝试过altova的XMLSpy或Oracle的JDeveloper?他们支持XSD,它看起来有点像您的输出。