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

如何在森林图外部添加OR及95%CI文本并设置统一OR标题?

森林图OR值标注优化与文本位置调整方案

针对现有森林图的两个问题,以下是具体解决方法:

问题1:添加统一的“OR”标题,避免重复标注

不再在每个文本标签前重复添加“OR”,而是通过标注工具在图表右侧上方添加统一的“OR (95% CI)”标题,既简洁又清晰。

问题2:将OR及95%CI文本移至森林图右侧外部

通过扩展Y轴范围预留显示空间,同时调整文本坐标到图外区域,配合边距设置避免文本被截断,彻底解决文本与CI线重叠的问题。

修改后的完整代码

library('ggplot2') 

Outcome_order <- c('Outcome C', 'Outcome A', 'Outcome B', 'Outcome D')

df1 <- data.frame(Outcome=c("Outcome A", "Outcome B", "Outcome C", "Outcome D"),
   OR=c(1.50, 2.60, 1.70, 1.30),
   Lower=c(1.00, 0.98, 0.60, 1.20),
   Upper=c(2.00, 3.01, 1.80, 2.20))
df1$group <- "X"
df2 <- df1
df2$group <- "Y"
df2[,c("OR","Lower","Upper")] <- df2[,c("OR","Lower","Upper")] +0.5
df = rbind(df1,df2)
df$Outcome = factor(df$Outcome, level=Outcome_order)

dotCOLS = c("#a6d8f0","#f9b282")
barCOLS = c("#008fd5","#de6b35")

ggplot(df, aes(x=Outcome, y=OR, ymin=Lower, ymax=Upper,col=group,fill=group)) + 
  geom_linerange(linewidth=5, position=position_dodge(width=0.5)) +
  geom_hline(yintercept=1, lty=2) +
  geom_point(size=3, shape=21, colour="white", stroke=0.5, position=position_dodge(width=0.5)) +
  # 文本移至右侧外部,去掉重复的OR前缀
  geom_text(aes(y=5.5, group=group, 
                label=paste0(round(OR,2), " (", round(Lower,2), " - ", round(Upper,2), ")")), 
            hjust=0, position=position_dodge(width=0.5), color="black") +
  # 添加统一的OR标题
  annotate("text", x=length(Outcome_order)+0.2, y=5.8, label="OR (95% CI)", hjust=0, size=4, fontface="bold") +
  scale_fill_manual(values=barCOLS)+
  scale_color_manual(values=dotCOLS)+
  scale_x_discrete(name="(Post)operative outcomes") +
  # 扩展Y轴上限,为外部文本预留空间
  scale_y_continuous(name="Odds ratio", limits=c(0.5, 6), expand=c(0,0)) +
  coord_flip() +
  theme_minimal() +
  # 增大右侧边距,防止文本被截断
  theme(plot.margin=margin(10, 80, 10, 10))

关键修改说明

  • 统一标题:用annotate()在图表右侧顶部添加独立的“OR (95% CI)”标题,替代每个文本标签的重复前缀。
  • 文本外移:将geom_text的Y坐标设为5.5(超出原Y轴上限5),同时把Y轴范围扩展到6,确保文本显示在图外区域。
  • 边距调整:通过plot.margin增大右侧边距,避免外部文本被画布边缘裁剪。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:16:06