2016-11-14 77 views
0

我有许多分支点图。不知道如何在输入脚本时将输出保持为相同的顺序。Graphviz同级别垂直订购

这里是我的代码,

digraph { 

"/home2/groups/" -> Data; 
CL[label="CL(9+12)"]; 
CA[label="CA(14+5)"] 
Data -> CL; 
Data -> CA; 
CL -> Cl_batch1; 
CL -> Cl_batch2; 
CA -> CA_batch1; 
CA -> CA_batch2; 
CA_batch1 -> {ca_a0 [label="G_pipeline"]}; 
CA_batch1 -> {ca_a1[label="Phe"]}; 
CA_batch1 -> {ca_a2 [label="QC"]}; 
CA_batch2 -> {ca_a0 [label="G_pipeline"]}; 
CA_batch2 -> {ca_a1 [label="Phe"]}; 
CA_batch2 -> {ca_a2 [label="QC"]}; 
Cl_batch1 -> {cl_b0 [label="G_pipeline"]}; 
Cl_batch1 -> {cl_b1 [label="Phe"]}; 
Cl_batch1 -> {cl_b2 [label="QC"]}; 
Cl_batch2 -> {cl_b0 [label="G_pipeline"]}; 
Cl_batch2 -> {cl_b1 [label="Phe"]}; 
Cl_batch2 -> {cl_b2 [label="QC"]}; 
{cl_b3[label="Ge"]}; 
cl_b0 -> cl_b3; 
{cl_b4[label="cfv"]}; {cl_b5[label="combined_Gcfv"]}; {cl_b6[label="combined_cfv"]}; {cl_b7[label="vq"]}; 
{cl_b8[label="batch"]}; 
cl_b3 -> {cl_b4;cl_b5;cl_b6;cl_b7[color=green]}; 
{cl_b4;cl_b5;cl_b6;cl_b7} -> cl_b8; 
{cl_b9_data[label="9wL/woL"]}; 
{cl_b12_data[label="12wL/woL"]}; 
{cl_b21_data[label="21wL/woL"]}; 
{cl_b23_data[label="23(+misc)wL/woL"]}; 
cl_b8 -> cl_b9_data[label="typeA"]; 
cl_b8 -> cl_b12_data[label="typeB"]; 
cl_b8 -> cl_b21_data[label="typeA+typeB"]; 
cl_b8 -> cl_b23_data[label="typeA+typeB"]; 

### CA_batch1 & CA batch2 
{ca_a3[label="Ge"]}; 
ca_a0 -> ca_a3; 
{ca_a4[label="cfv"]}; {ca_a5[label="combined_Gcfv"]}; {ca_a6[label="combined_cfv"]}; {ca_a7[label="vq"]}; 
{ca_a8[label="batch"]}; 
ca_a3 -> {ca_a4;ca_a5[color=green];ca_a6[color=green];ca_a7[color=green]} 
{ca_a4;ca_a5;ca_a6;ca_a7} -> ca_a8; 
ca_a8 -> {ca_a14_data[label="14wL/woL"]}[label="typeA"]; 
ca_a8 -> {ca_a_5_data[label="5wL/woL"]}[label="typeC"]; 
ca_a8 -> {ca_a19_data[label="19wL/woL"]}[label="typeA/typeC"]; 

} 

enter image description here

在这种情况下,如何订购底层? 你可以看到,我说我的订单顺序:

cl_b8 -> cl_b9_data[label="typeA"]; 
cl_b8 -> cl_b12_data[label="typeB"]; 
cl_b8 -> cl_b21_data[label="typeA+typeB"]; 
cl_b8 -> cl_b23_data[label="typeA+typeB"]; 

我想有顺序从

1) cl_b9_data; 
2) cl_b12_data; 
3) cl_b21_data; 
4) cl_b23_data; 

从左到右的每个节点都需要有相应的箭头。任何人都可以请指教?

+0

我可能不是很好理解,但是ogther节点呢?你只提到四个? – vaettchen

+0

@vaettchen就是这样的例子,其余四个可以随机放置 – user3631848

回答

0

只需在创建节点时维护订单。创建发生在源代码中第一次命名节点时。 Btw括号不是必需的。

[...] 
clo_b9_I [label="9wL"]; 
clo_b12_I [label="12wL"]; 
clo_b21_I [label="21wL"]; 
clo_b23_I [label="23wL"]; 
clo_b9_woL [label="9woL"]; 
clo_b12_woL[label="12woL"]; 
clo_b21_woL[label="21woL"]; 
clo_b23_woL[label="23woL"]; 
[...] 
+0

当分支没有被包含时,它确实保持相同的顺序。如果他们分支太多,订单就会改变。 – user3631848

+0

有很少你可以做强制排序。在某些情况下,你完全没有影响力。对于标准图表,创建的顺序应该起作用。发布你失败的例子。 – stefan

+0

我修改了代码。你可以在左下角看到。该订单与我在代码中说明的不同。 – user3631848