You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DiagrammeR生成CONSORT图:标题添加与节点填充色失效问题求助

解决DiagrammeR生成CONSORT图的两个问题

1. 添加图表标题

在graph属性中添加label参数指定标题内容,用labelloc="t"将标题固定在图表顶部,还可通过fontsize调整标题字号:

graph [layout=dot, overlap = true, fontsize = 10, label="CONSORT 流程图", labelloc="t", fontsize=14]

2. 修复节点填充颜色不生效的问题

fillcolor属性需要配合style="filled"才能触发填充效果,在全局node属性里补充该参数即可:

node [shape=box, fontname = Helvetica, color = blue, fillcolor = red, style="filled"]

修改后的完整代码

library(tidyCDISC)
library(tidyverse)
library(ggalluvial)
library(DiagrammeR)

data('adsl', package='tidyCDISC')

# 统计安全人群及分组数据
pop1 <- adsl %>% rename_all(tolower) %>% filter(saffl=='Y') %>% count() %>% 
  mutate(col1=paste0('Safety Population\n(N=',n,')'))

popt <- adsl %>% rename_all(tolower) %>% filter(saffl=='Y') %>% group_by(trt01a) %>% count() %>% 
  mutate(col1=paste0(trt01a,'\n(N=',n,')'))

DiagrammeR::grViz("
              digraph box  {
               graph [layout=dot, overlap = true, fontsize = 10, label='CONSORT 流程图', labelloc='t', fontsize=14]
               
               node [shape=box, fontname = Helvetica, color = blue, fillcolor = red, style='filled']
               
               total_population [label = '@@1']; 
               placebo [label = '@@2'];
               xanomeline_low_dose [label = '@@3'];
               xanomeline_high_dose [label = '@@4'];
              
               total_population  -> placebo; total_population -> xanomeline_low_dose; total_population -> xanomeline_high_dose 
                            }
              
              [1]:  pop1$col1 
              [2]:  popt$col1[1]
              [3]:  popt$col1[3]
              [4]:  popt$col1[2]
                  ")

内容的提问来源于stack exchange,提问作者jkatam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 08:25:17