2017-10-14 85 views
1

我想用0123.来从R的DiagrammeR软件包中复制出流程图。下面是我到目前为止的地方,但我无法使“排除”框与空白节点水平对齐。有什么建议么?DiagrammeR和graphviz

```{R,回声= FALSE,警告= FALSE,结果= '隐藏',消息= FALSE

库(吃豆)

p_load(制图)

grViz (”

有向图a_nice_graph {

节点[字体名=黑体,形状=盒,宽度= 4,填充颜色=橙红,STYL E =填充]

评估[标号= '评估Elibibility(N =)']

随机[标号= '随机(N =)']

allocatedA [标号=“分配到介入A(N =)']

allocatedB [标号= '分配到干预B(N =)']

lostA [标签= '迷失随访(n =)']

洛杉矶TB [标签= '迷失随访(n =)']

analyzedA [标号= '分析(N =)']

analyzedB [标号= '分析(N =)']

blank [label ='',width = 0.01,height = 0。01]

排除[标号= '排除(N =)']

子图cluster_0 {

rankdir = TD 

color = white 

assessed -> blank [arrowhead = none] 

blank -> randomized 

}

子图cluster_1 {

rankdir = LR 

color = white 

blank -> excluded 

}

随机 - > {allocatedA allocatedB}

allocatedA - > lostA

allocatedB - > lostB

lostA - > analyzedA

lostB - > analyzedB

}

“ )

```

这是迄今为止得到的情节:我没有使用RMarkdown但与浏览器检查

enter image description here

回答

1

,我认为这应该工作“的是”在你的设置,以及。重点是把blankexcluded放在同一个等级。无需子图你已经尝试:

digraph a_nice_graph 
{ 
    node [fontname = Helvetica, shape = box, width = 4, fillcolor = LightSalmon, style = filled] 
    assessed [label = 'Assessed for Elibibility (n =)'] 
    randomized [label = 'Randomized (n =)'] 
    allocatedA [label = 'Allocated to intervention A (n =)'] 
    allocatedB [label = 'Allocated to intervention B (n =)'] 
    lostA [label = 'Lost to follow-up (n =)'] 
    lostB [label = 'Lost to follow-up (n =)'] 
    analyzedA [label = 'Analyzed (n =)'] 
    analyzedB [label = 'Analyzed (n =)'] 
    blank[label = '', width = 0.01, height = 0.01] 
    excluded[label = 'Excluded (n =)'] 

    { rank = same; blank excluded } 

    assessed -> blank[ dir = none ]; 
    blank -> excluded[ minlen = 3 ]; 
    blank -> randomized; 
    randomized -> {allocatedA allocatedB}; 
    allocatedA -> lostA; 
    allocatedB -> lostB; 
    lostA -> analyzedA; 
    lostB -> analyzedB; 
} 

产生

enter image description here

+0

感谢一吨,正是我所需要的 –