更改 graphviz 子组中节点的顺序
change order of nodes in subgroup in graphviz
在下面的代码中:
digraph G {
splines=true;
bpx_launch -> bpx_preproc [color=red];
subgraph cluster_0 {
slice01;
slice02;
slice03;
slice_i;
slice_N;
color=black;
}
bpx_launch -> bpx_postproc [color=red];
bpx_launch -> bpx_validate [color=red];
bpx_launch -> slice01 [color=red];
bpx_launch -> slice02 [color=red];
bpx_launch -> slice03 [color=red];
bpx_launch -> slice_i [color=red];
bpx_launch -> slice_N [color=red];
bpx_preproc -> slice01 [color=blue];
bpx_preproc -> slice02 [color=blue];
bpx_preproc -> slice03 [color=blue];
bpx_preproc -> slice_i [color=blue];
bpx_preproc -> slice_N [color=blue];
slice01 -> bpx_postproc [color=blue];
slice02 -> bpx_postproc [color=blue];
slice03 -> bpx_postproc [color=blue];
slice_i -> bpx_postproc [color=blue];
slice_N -> bpx_postproc [color=blue];
bpx_postproc -> bpx_validate [color=blue];
}
我最终得到 slice_N, slice01, slice02, slice03, slice_i
,但我更喜欢 slice01, slice02, slice03, slice_i, slice_N
。有什么办法可以改变这个顺序吗?
另外,如何添加箭头键?我想展示一个小图例,解释 "x -> y" 表示 "x launches y" 表示红色,"x must run before y" 表示蓝色。
编辑:错误地将第一个 'bpx_launch' 作为 'bpx' 所以它没有意义 - 它应该全部读作 'bpx_launch' - 不应该有名为 [=25 的节点=]
目前(版本 2.38)除按 rankdir 以外的顺序在集群中不起作用,既不按出现顺序也不按边缘。
无簇
digraph G {
splines=true;
legend [shape=plaintext label=<<table border="0" cellborder="0"><tr><td><font color="red">- launches</font></td></tr><tr><td><font color="blue">- runs before</font></td></tr></table>> ]
{ rank=same color=black
slice01 -> slice02 -> slice03 -> slice_i -> slice_N [style=invis]
}
edge [color=red]
bpx_launch -> bpx_preproc;
bpx_launch -> bpx_postproc;
bpx_launch -> bpx_validate;
bpx_launch -> slice01;
bpx_launch -> slice02;
bpx_launch -> slice03;
bpx_launch -> slice_i;
bpx_launch -> slice_N;
edge [color=blue]
bpx_preproc -> slice01;
bpx_preproc -> slice02;
bpx_preproc -> slice03;
bpx_preproc -> slice_i;
bpx_preproc -> slice_N;
slice01 -> bpx_postproc;
slice02 -> bpx_postproc;
slice03 -> bpx_postproc;
slice_i -> bpx_postproc;
slice_N -> bpx_postproc;
bpx_postproc -> bpx_validate;
}
你得到
在下面的代码中:
digraph G {
splines=true;
bpx_launch -> bpx_preproc [color=red];
subgraph cluster_0 {
slice01;
slice02;
slice03;
slice_i;
slice_N;
color=black;
}
bpx_launch -> bpx_postproc [color=red];
bpx_launch -> bpx_validate [color=red];
bpx_launch -> slice01 [color=red];
bpx_launch -> slice02 [color=red];
bpx_launch -> slice03 [color=red];
bpx_launch -> slice_i [color=red];
bpx_launch -> slice_N [color=red];
bpx_preproc -> slice01 [color=blue];
bpx_preproc -> slice02 [color=blue];
bpx_preproc -> slice03 [color=blue];
bpx_preproc -> slice_i [color=blue];
bpx_preproc -> slice_N [color=blue];
slice01 -> bpx_postproc [color=blue];
slice02 -> bpx_postproc [color=blue];
slice03 -> bpx_postproc [color=blue];
slice_i -> bpx_postproc [color=blue];
slice_N -> bpx_postproc [color=blue];
bpx_postproc -> bpx_validate [color=blue];
}
我最终得到 slice_N, slice01, slice02, slice03, slice_i
,但我更喜欢 slice01, slice02, slice03, slice_i, slice_N
。有什么办法可以改变这个顺序吗?
另外,如何添加箭头键?我想展示一个小图例,解释 "x -> y" 表示 "x launches y" 表示红色,"x must run before y" 表示蓝色。
编辑:错误地将第一个 'bpx_launch' 作为 'bpx' 所以它没有意义 - 它应该全部读作 'bpx_launch' - 不应该有名为 [=25 的节点=]
目前(版本 2.38)除按 rankdir 以外的顺序在集群中不起作用,既不按出现顺序也不按边缘。
无簇
digraph G {
splines=true;
legend [shape=plaintext label=<<table border="0" cellborder="0"><tr><td><font color="red">- launches</font></td></tr><tr><td><font color="blue">- runs before</font></td></tr></table>> ]
{ rank=same color=black
slice01 -> slice02 -> slice03 -> slice_i -> slice_N [style=invis]
}
edge [color=red]
bpx_launch -> bpx_preproc;
bpx_launch -> bpx_postproc;
bpx_launch -> bpx_validate;
bpx_launch -> slice01;
bpx_launch -> slice02;
bpx_launch -> slice03;
bpx_launch -> slice_i;
bpx_launch -> slice_N;
edge [color=blue]
bpx_preproc -> slice01;
bpx_preproc -> slice02;
bpx_preproc -> slice03;
bpx_preproc -> slice_i;
bpx_preproc -> slice_N;
slice01 -> bpx_postproc;
slice02 -> bpx_postproc;
slice03 -> bpx_postproc;
slice_i -> bpx_postproc;
slice_N -> bpx_postproc;
bpx_postproc -> bpx_validate;
}
你得到