0

我正在尝试重新创建此示例作为我正在处理的项目的流程图的测试:https ://dannyjnwong.github.io/STROBE-CONSORT-Diagrams-in-R/

该页面显示代码应生成如下图:https ://dannyjnwong.github.io/figures/2018-02-12-STROBE-CONSORT-Diagrams-in-R/STROBE.png

但是,当我尝试在 RStudio 中运行相同的代码时,我得到了这个,水平箭头不会呈现为水平的,而是向下弯曲:

在此处输入图像描述

有没有办法像 github 示例中那样强制这些箭头是直的和水平的?它可能与DiagrammeR的版本有关吗?该帖子使用 DiagrammeR_0.9.2 而我的帖子使用的是 DiagrammeR_1.0.6.1 我想尽可能避免回滚我的软件包版本。谢谢!

4

1 回答 1

0

我使用正交样条DiagrammeR曲线来获得流程图中的水平线。我尝试在您的示例中使用add_global_graph_attrswith create_graph,它产生水平线但没有保持架构完整。

这是我制作类似图表的方法。为方便起见,我glue在流程图中插入特定值和文本。也许这可能对你有帮助。

library(DiagrammeR)
library(glue)

n <- 1000
exclude1 <- 100
exclude2 <- 50
include1 <- n - exclude1 - exclude2

grViz(
  glue("digraph my_flowchart {{ 
      graph[splines = ortho]
      node [fontname = Helvetica, shape = box, width = 4, height = 1]
      
        node1[label = <Total available patients<br/>(n = {n})>]
                
        blank1[label = '', width = 0.01, height = 0.01]
        excluded1[label = <Excluded because of<br/>exclusion criteria (n={exclude1})>]
        
        node1 -> blank1[dir = none];
        blank1 -> excluded1[minlen = 2];
        {{ rank = same; blank1 excluded1 }}
        
        blank2[label = '', width = 0.01, height = 0.01]
        excluded2[label = <Excluded because of missing values (n={exclude2})>]
        
        blank1 -> blank2[dir = none];
        blank2 -> excluded2[minlen = 2];
        {{ rank = same; blank2 excluded2 }}
        
        node2[label = <Included for analysis<br/>(n={include1})>]
        blank2 -> node2;
        
        node3[label = <Data linked with<br/>external dataset>]
        node2 -> node3;
     }}")
)

注意:已经做出了一些努力来构建 CONSORT 图:

图表

图解示例

于 2021-11-29T01:09:00.477 回答