在 graphviz 中订购流程图
Ordering flowchart in graphviz
我想制作的图表是这样一个从左到右的流程图,顶部是一个主流程,下面是一系列的东西分组,在不同的点输入和输出,比如这个:
(尽管这是一个虚拟示例,我想要从顶部代码框进出很多东西,这就是水平布局比默认布局效果更好的原因
问题是这是用 powerpoint 制作的...
我可以用这个得到一些接近的东西:
digraph example {
graph [
rankdir = LR
]
subgraph cluster_code {
label = "code";
A;
B;
C;
D;
}
subgraph cluster_data {
label = "data";
data_1;
data_2;
}
subgraph cluster_source {
label = "source"
source_1;
source_2
}
A -> B
B -> C
C -> D
data_1 -> A
data_2 -> B
A -> output_1
output_1 -> C
source_1 -> data_1
source_2 -> data_2
#{rank = same; source_2; data_2; A}
}
但是如果我尝试使用 {rank = same; source_2; data_2; A}
将 source
和 data
集群置于代码集群之下(这已在上面散列,我不会重复整个代码为了 post) 的简洁性,我然后 A
、data_2
和 source_2
开箱即用。我认为这与等级和集群不能很好地协同工作有关。
关于获得类似上面第一张图的任何提示?
我是 运行 graphviz 通过 R/Rstudio 和 DiagrammeR
.
您似乎想更改图表中间的“rankdir”。挺有道理的,但是Graphviz不支持。这是您的图表,使用默认值 rankdir 和使用 rank 有效更改 rankdir 的未充分记录的能力=same 在一个子图中。它还会反转边缘箭头的方向 - 一个错误,但它有效。
digraph example {
node [width=1.5]
subgraph cluster_code {
label = "code";
{rank=same
A -> B -> C -> D
}
}
subgraph cluster_data {
label = "data";
data_1;
data_2;
}
subgraph cluster_source {
label = "source"
source_1;
source_2
}
A -> output_1
output_1 -> C
edge[dir=back minlen=2] // minlen makes (rank) space
A -> data_1 // -> A
A -> data_2 // -> A
edge[dir=back minlen=1]
data_1 -> source_1 // -> data_1
data_2 -> source_2 // -> data_2
}
给这个:
我想制作的图表是这样一个从左到右的流程图,顶部是一个主流程,下面是一系列的东西分组,在不同的点输入和输出,比如这个:
(尽管这是一个虚拟示例,我想要从顶部代码框进出很多东西,这就是水平布局比默认布局效果更好的原因
问题是这是用 powerpoint 制作的...
我可以用这个得到一些接近的东西:
digraph example {
graph [
rankdir = LR
]
subgraph cluster_code {
label = "code";
A;
B;
C;
D;
}
subgraph cluster_data {
label = "data";
data_1;
data_2;
}
subgraph cluster_source {
label = "source"
source_1;
source_2
}
A -> B
B -> C
C -> D
data_1 -> A
data_2 -> B
A -> output_1
output_1 -> C
source_1 -> data_1
source_2 -> data_2
#{rank = same; source_2; data_2; A}
}
但是如果我尝试使用 {rank = same; source_2; data_2; A}
将 source
和 data
集群置于代码集群之下(这已在上面散列,我不会重复整个代码为了 post) 的简洁性,我然后 A
、data_2
和 source_2
开箱即用。我认为这与等级和集群不能很好地协同工作有关。
关于获得类似上面第一张图的任何提示?
我是 运行 graphviz 通过 R/Rstudio 和 DiagrammeR
.
您似乎想更改图表中间的“rankdir”。挺有道理的,但是Graphviz不支持。这是您的图表,使用默认值 rankdir 和使用 rank 有效更改 rankdir 的未充分记录的能力=same 在一个子图中。它还会反转边缘箭头的方向 - 一个错误,但它有效。
digraph example {
node [width=1.5]
subgraph cluster_code {
label = "code";
{rank=same
A -> B -> C -> D
}
}
subgraph cluster_data {
label = "data";
data_1;
data_2;
}
subgraph cluster_source {
label = "source"
source_1;
source_2
}
A -> output_1
output_1 -> C
edge[dir=back minlen=2] // minlen makes (rank) space
A -> data_1 // -> A
A -> data_2 // -> A
edge[dir=back minlen=1]
data_1 -> source_1 // -> data_1
data_2 -> source_2 // -> data_2
}
给这个: