diagrammer-如何向流程图添加手臂? [英] diagrammer - how can I add arms to my flowchart?

查看:79
本文介绍了diagrammer-如何向流程图添加手臂?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于我的流程图,我有一个详细显示数据流的垂直图表。但是,在向下的箭头上,我想添加侧向箭头以描述丢失的数据的去向。我该怎么做呢?在任何文档和示例中我都看不到它,因为它往往涉及更复杂的事情,而且我知道这是一个非常基本的任务!

For my flowchart, I have a vertical chart detailing the data flow. However on the downward arrows, I want to add side arrows to describe where the missing data is going. How do I do this? I can't see it in any of the documentation and examples because it tends to be about far more complex things, and I know this is a very basic task!

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
}      ")

这给了我两个并排的面板,但是我想让箭头从向下的箭头伸出

This gives me two side by side panels, but I want arrows coming off the downward arrows where I can put the n for missing data.

推荐答案

标准技巧是创建不可见的虚拟节点,然后将每个边缘分成两部分:1)源->虚拟,和2)虚拟->目标:

The standard trick is to create invisible dummy nodes, then break up each edge into two parts: 1) source -> dummy, and 2) dummy -> target:

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 是不可见的虚拟节点,共有三组边线:

I shortened your example for demonstration purposes. In the above, p1 and p2 are invisible dummy nodes. There are three sets of edges:


  • 从虚拟节点到目标的向下定向边缘(例如 p1-> 2

  • 从虚拟节点到缺失节点的水平定向边缘。边缘方向通过 rank = same 施加。

  • 从源到虚拟节点

  • Downward directed edges from dummy nodes to targets (e.g., p1 -> 2)
  • Horizontal directed edges from dummy nodes to "missing" nodes. Edge direction is imposed through rank=same.
  • Undirected edges from source to the dummy nodes

这篇关于diagrammer-如何向流程图添加手臂?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆