diagrammer - 如何在我的流程图中添加武器?
diagrammer - how can I add arms to my flowchart?
对于我的流程图,我有一个详细说明数据流的垂直图表。但是在向下的箭头上,我想添加侧箭头来描述缺失数据的去向。我该怎么做呢?我在任何文档和示例中都看不到它,因为它往往涉及更复杂的事情,而且我知道这是一项非常基本的任务!
library(DiagrammeR)
grViz("digraph flowchart {
# node definitions with substituted label text
node [fontname = Helvetica, shape = rectangle, fixedsize = false, width = 1]
1 [label = 'data (100%)']
2 [label = 'data (90.4%)']
3 [label = 'data \ndata (83.3%)']
4 [label = 'data (66%)']
7 [label = 'data (100%)']
8 [label = 'data (74.4%)']
9 [label = 'data (69.6%)']
10 [label = 'data (55.4%)']
1 -> 2 -> 3 -> 4;
7 -> 8 -> 9 -> 10
} ")
这给了我两个并排的面板,但我想要箭头从向下的箭头上掉下来,我可以在其中放置缺失数据的 n。
标准技巧是创建不可见的虚拟节点,然后将每条边分成两部分:1) 源 -> 虚拟节点,以及 2) 虚拟节点 -> 目标节点:
library(DiagrammeR)
grViz("digraph flowchart {
# node definitions with substituted label text
node [fontname = Helvetica, shape = rectangle, fixedsize = false, width = 1]
1 [label = 'data (100%)']
2 [label = 'data (74.4%)']
3 [label = 'data (69.6%)']
4 [label = 'data (55.4%)']
m1 [label = 'missing (25.6%)']
m2 [label = 'missing (4.8%)']
node [shape=none, width=0, height=0, label='']
p1 -> 2; p2 -> 3 -> 4;
{rank=same; p1 -> m1}
{rank=same; p2 -> m2}
edge [dir=none]
1 -> p1; 2 -> p2;
}")
出于演示目的,我缩短了您的示例。在上面, p1
和 p2
是不可见的虚拟节点。一共有三组边:
- 从虚拟节点到目标的向下定向边(例如,
p1 -> 2
)
- 从虚拟节点到 "missing" 节点的水平有向边。边缘方向通过
rank=same
. 强加
- 从源到虚拟节点的无向边
对于我的流程图,我有一个详细说明数据流的垂直图表。但是在向下的箭头上,我想添加侧箭头来描述缺失数据的去向。我该怎么做呢?我在任何文档和示例中都看不到它,因为它往往涉及更复杂的事情,而且我知道这是一项非常基本的任务!
library(DiagrammeR)
grViz("digraph flowchart {
# node definitions with substituted label text
node [fontname = Helvetica, shape = rectangle, fixedsize = false, width = 1]
1 [label = 'data (100%)']
2 [label = 'data (90.4%)']
3 [label = 'data \ndata (83.3%)']
4 [label = 'data (66%)']
7 [label = 'data (100%)']
8 [label = 'data (74.4%)']
9 [label = 'data (69.6%)']
10 [label = 'data (55.4%)']
1 -> 2 -> 3 -> 4;
7 -> 8 -> 9 -> 10
} ")
这给了我两个并排的面板,但我想要箭头从向下的箭头上掉下来,我可以在其中放置缺失数据的 n。
标准技巧是创建不可见的虚拟节点,然后将每条边分成两部分:1) 源 -> 虚拟节点,以及 2) 虚拟节点 -> 目标节点:
library(DiagrammeR)
grViz("digraph flowchart {
# node definitions with substituted label text
node [fontname = Helvetica, shape = rectangle, fixedsize = false, width = 1]
1 [label = 'data (100%)']
2 [label = 'data (74.4%)']
3 [label = 'data (69.6%)']
4 [label = 'data (55.4%)']
m1 [label = 'missing (25.6%)']
m2 [label = 'missing (4.8%)']
node [shape=none, width=0, height=0, label='']
p1 -> 2; p2 -> 3 -> 4;
{rank=same; p1 -> m1}
{rank=same; p2 -> m2}
edge [dir=none]
1 -> p1; 2 -> p2;
}")
出于演示目的,我缩短了您的示例。在上面, p1
和 p2
是不可见的虚拟节点。一共有三组边:
- 从虚拟节点到目标的向下定向边(例如,
p1 -> 2
) - 从虚拟节点到 "missing" 节点的水平有向边。边缘方向通过
rank=same
. 强加
- 从源到虚拟节点的无向边