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

如何使用R包survminer调整风险表图例文本大小?

调整survminer风险表分组标签字体大小的解决方案

针对你遇到的survminer包中风险表左下角分组标签(Male/Female)字体过大的问题,核心是要单独修改风险表对象的ggplot主题元素——默认的risk.table.fontsize参数仅控制风险表内的数字字体,不影响分组标签。以下是两种可行方案:

方案1:生成后修改风险表对象

先正常生成包含风险表的生存曲线,再单独调整风险表的y轴文本(即分组标签)大小:

library(survival)
library(survminer)

# 示例数据与模型拟合
data(lung)
lung$sex <- factor(lung$sex, levels = c(1,2), labels = c("Male", "Female"))
fit <- survfit(Surv(time, status) ~ sex, data = lung)

# 生成ggsurvplot对象
p <- ggsurvplot(fit, risk.table = TRUE)

# 调整风险表分组标签字体大小(这里设置为8,可根据需求修改)
p$table <- p$table + theme(axis.text.y = element_text(size = 8))

# 输出图形
print(p)

方案2:生成时直接指定风险表主题

在调用ggsurvplot时,通过risk.table.theme参数直接定义风险表的主题,包含分组标签的字体设置:

p <- ggsurvplot(
  fit,
  risk.table = TRUE,
  # 自定义风险表主题,调整y轴文本大小
  risk.table.theme = theme_cleantable() + theme(axis.text.y = element_text(size = 8))
)
print(p)

关键说明

  • 风险表本质是一个独立的ggplot对象,存储在ggsurvplot返回结果的$table字段中
  • 分组标签属于风险表的y轴文本,对应ggplot主题中的axis.text.y元素
  • 如果需要同时调整主图的图例字体,可以额外添加legend.font = element_text(size = 8)参数到ggsurvplot中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 12:37:03