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

如何使用survminer::ggforest绘制符合学术发表要求的彩色森林图

survminer::ggforest绘制学术适配彩色森林图操作指南

ggforest本身没有开放自定义配色的参数,不需要修改包底层源码,两种新手可直接复用的方案如下,配色默认选用顶刊常用的低饱和友好色,符合学术发表要求。

小提示:你提供的原始绘图代码末尾多了1个右括号,运行前记得删除,否则会触发语法报错。


方法1:直接覆写ggplot图层(最推荐,零风险)

ggforest输出的对象本质是标准ggplot2对象,直接叠加颜色标度层即可修改配色,不需要改动任何函数内部逻辑,操作最安全。

操作步骤

  1. 先安装依赖包(已安装可跳过)
install.packages(c("survival", "survminer", "ggplot2", "ggsci"))
  1. 运行绘图代码,直接复用即可:
# 加载包
library(survival)
library(survminer)
library(ggplot2)
library(ggsci)

# 构建多因素Cox模型(和你原有代码一致)
multi_variate_cox <- coxph(formula = Surv(futime, fustat) ~ A + B + C, data = train_tpm)

# 生成基础森林图
train_ggforest <- ggforest(
  model = multi_variate_cox,
  data = train_tpm,
  main = 'Hazard ratios of candidate genes'
)

# 覆写配色+优化学术风格主题
train_ggforest <- train_ggforest +
  # 自定义配色:危险因素(HR>1)用砖红、保护因素(HR<1)用深蓝、参考线用中性灰
  # 色值取自Lancet期刊官方配色,印刷辨识度高、无审美偏差
  scale_color_manual(
    values = c(
      " " = "#00468B",
      " " = "#ED0000",
      " " = "#555555"
    ),
    guide = "none"
  ) +
  # 可选:替换为简洁的学术主题
  theme_bw(base_size = 12) +
  theme(
    panel.grid.minor = element_blank(),
    panel.grid.major.y = element_blank(),
    plot.title = element_text(hjust = 0.5, face = "bold")
  )

# 输出图片
print(train_ggforest)

如果需要换其他期刊适配配色,把scale_color_manual(...)替换为ggsci包内置的标度函数即可,不需要手动调色:

  • Nature系列期刊配色:scale_color_npg()
  • Science系列期刊配色:scale_color_aaas()
  • JAMA系列期刊配色:scale_color_jama()

方法2:临时修改函数默认值(适合批量出图场景)

如果需要批量绘制多张森林图,可通过trace()函数临时给ggforest注入配色规则,不需要每次手动叠加图层,重启R会话后会自动恢复默认设置,不会破坏原包文件。

# 注入自定义配色规则
trace(
  what = ggforest,
  tracer = quote({
    col <- list(
      hr.pos = "#ED0000",  # HR>1 危险因素颜色
      hr.neg = "#00468B",  # HR<1 保护因素颜色
      ref = "#555555"      # HR=1参考线颜色
    )
  }),
  at = 1
)

# 之后直接调用ggforest即可生成彩色图,无需额外修改
train_ggforest <- ggforest(
  model = multi_variate_cox,
  data = train_tpm,
  main = 'Hazard ratios of candidate genes'
)

# 需要恢复默认黑白色时运行以下代码即可
untrace(ggforest)

学术配色选择注意事项

  • 优先选低饱和度、红/蓝(或暖/冷)强对比组合,避免用高饱和荧光色,防止印刷失真
  • 参考线选用中灰色即可,不要用纯黑,避免抢夺核心结果(HR点、置信区间)的视觉权重
  • 若投稿目标期刊有明确配色规范,直接取官方色值替换即可,不需要额外设计风格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 13:09:17