【问题标题】:Graphviz same level Vertical OrderingGraphviz 同级垂直排序
【发布时间】:2016-11-21 10:59:56
【问题描述】:

我有一个带有许多分支的点图。不确定如何在脚本中输入时保持输出顺序相同。

这是我的代码,

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"];

 }

在这种情况下,我该如何订购底层? 您可以看到我按顺序陈述了我的订单:

 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;

每个节点都需要有对应的箭头。有人可以请教吗?

【问题讨论】:

  • 我可能不太了解,但是其他节点呢?你只提到四个?
  • @vaettchen 这就是例子,其余四个可以随机放置

标签: graphviz dot


【解决方案1】:

创建节点时只需保持顺序即可。创建发生在第一次在源代码中命名节点时。顺便说一句,大括号不是必需的。

[...]
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"];
[...]

【讨论】:

  • 当分支不那么复杂时,它确实保持相同的顺序。如果它们的分支太多,则顺序会改变。
  • 您几乎无法强制执行排序。在某些情况下,您根本没有影响力。对于标准图表,创建顺序应该有效。发布你失败的例子。
  • 我已经修改了代码。你可以在左下角看到它。顺序与我在代码中说明的不同。
  • @user3631848 我在这里纠正。到目前为止,我只在使用集群时遇到过类似的问题。
猜你喜欢
  • 2013-10-18
  • 2019-01-27
  • 2021-08-22
  • 1970-01-01
  • 2014-08-02
  • 2021-02-26
  • 2018-05-16
  • 1970-01-01
  • 2015-01-21
相关资源
最近更新 更多