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

如何在R的survminer包中用ggsurvplot将风险表分组名设为全黑

解决ggsurvplot风险表分组名称统一设为黑色的问题

报错原因

你之前修改axis.text.y时出现冲突,是因为风险表的分组名称默认通过aes(color = 分组变量)绑定了生存曲线的分组颜色,直接用theme修改文本颜色会和这个颜色映射冲突,导致主题合并失败。

解决方案

利用ggsurvplot的内置参数关闭分组标签的颜色绑定,再统一设置文本颜色即可,具体步骤如下:

修改后的完整代码

surv_pfs <- ggsurvplot(data = data, fit = fit_os,
                       xlab = "Time in Months",
                       risk.table = TRUE, 
                       size = 0.2, 
                       censor.size = 3,
                       legend.title = "Group", 
                       tables.theme = clean_theme(),
                       title = "OS by group",
                       ylab = "Survival Probability",
                       break.time.by = 12,
                       risk.table.title = "Number at Risk",
                       risk.table.col = "black",  # 设置风险表内数字为黑色
                       risk.table.height = 0.2,
                       risk.table.y.text = TRUE,
                       risk.table.y.text.col = FALSE,  # 关键:关闭分组标签与分组颜色的绑定
                       censor.shape = "l", 
                       linetype = c(1,1,1,1),  
                       pval = FALSE,
                       ggtheme = custom_theme(),
                       legend.labs = c("group1","group2", "group3", "group4"),
                       palette = c("black", "#8c8c8c", "#4b4b4b", "#bebebe"))

# 调整主图图例样式
surv_pfs$plot <- surv_pfs$plot + 
  theme(legend.position = c(0.5,0.7),
        legend.text = element_text(size=8),
        legend.title = element_text(size=8))

# 调整风险表样式,此时可正常设置分组名称为黑色
surv_pfs$table <- surv_pfs$table + 
  theme(plot.title = element_text(hjust=0, size=14),
        plot.margin = margin(l=0),
        axis.text.y = element_text(color = "black", size=14),
        # 可选:确保风险表所有文本都为黑色
        text = element_text(color = "black"))

# 输出图形
surv_pfs

原理说明

  • risk.table.y.text.col = FALSE:该参数默认是TRUE,会让分组标签继承对应生存曲线的颜色;设为FALSE后,分组标签的颜色会遵循theme中axis.text.y的设置,不再绑定分组颜色。
  • risk.table.col = "black":确保风险表内的数字(风险人数)显示为黑色。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 01:58:20