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

如何使用ggsurvfit在KM图内添加风险表并对分组颜色编码?

在ggsurvfit中给KM图添加带分组颜色编码的风险表

ggsurvfit完全支持实现类似SAS的、带分组颜色编码的风险表功能,无需额外复杂语法,只需在绘图时配合几个关键参数即可:

核心实现步骤

  • 用ggsurvfit()绘制KM图时,通过color参数指定分组变量,让曲线按分组上色
  • 调用add_risktable()时开启risktable_group = TRUE,让风险表按分组拆分显示,同时继承KM曲线的颜色编码
  • 可选:用scale_color_xxx()系列函数自定义分组颜色,匹配你需要的配色

代码示例

library(ggsurvfit)
library(survival)

# 基于lung数据集拟合分组生存模型
fit <- survfit(Surv(time, status) ~ sex, data = lung)

# 绘制带分组颜色编码风险表的KM图
ggsurvfit(fit, color = sex) +
  # 添加分组风险表,设置高度比例
  add_risktable(risktable_group = TRUE, risktable_height = 0.2) +
  # 自定义分组配色(可选,替换为你需要的颜色)
  scale_color_brewer(palette = "Set1") +
  # 搭配基础主题(可选)
  theme_bw()

进阶:让风险表文字也匹配分组颜色

如果需要让风险表中的分组标签、数值也对应分组颜色,可通过add_risktable()的theme参数自定义:

ggsurvfit(fit, color = sex) +
  add_risktable(
    risktable_group = TRUE,
    risktable_height = 0.2,
    theme = list(
      theme_risktable_default(),
      # 按分组指定文字颜色,顺序与分组水平一致
      theme(risktable_text = element_text(color = c("#E41A1C", "#377EB8")))
    )
  ) +
  scale_color_manual(values = c("#E41A1C", "#377EB8")) +
  theme_bw()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 01:17:16