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

如何调整ggcuminc图Y轴为百分比并解决风险表截断问题

解决ggcuminc图的Y轴百分比与风险表截断问题

1. 把Y轴转换为百分比格式

ggcuminc默认输出的Y轴是0-1的概率值,要改成百分比,直接用scale_y_continuous()搭配scales::percent()函数即可,代码示例:

library(ggsurvfit)
library(survival)
library(scales)

# 加载数据集并构建竞争风险模型
data(mgus2)
cuminc_fit <- cuminc(Surv(futime, death_cause) ~ sex, data = mgus2)

# 绘图并设置Y轴为百分比
p <- ggcuminc(cuminc_fit) +
  scale_y_continuous(
    labels = percent, 
    limits = c(0, 1) # 这里替换成你需要的坐标轴范围
  )

如果需要自定义刻度间隔,比如每20%显示一个刻度,可添加breaks = seq(0, 1, 0.2)参数。

2. 修复风险表被截断的问题

ggcuminc的风险表不能通过p$table修改,得通过add_risktable()的参数或主题调整来解决:

调整风险表高度与字体大小

直接在add_risktable()里设置table_height(控制表格占绘图区域的比例)和fontsize(缩小字体避免内容挤在一起):

p <- p +
  add_risktable(
    table_height = 0.2, # 数值越大,表格高度越高
    fontsize = 3 # 根据需求调整字体大小
  )

增加绘图下边距

如果调整高度和字体后仍有截断,说明绘图区域下边距不足,用theme()扩展边距:

p <- p +
  theme(plot.margin = margin(1, 1, 2, 1, "cm")) # 顺序为上、右、下、左,单位按需调整

自定义风险表(进阶)

如果需要更精细的控制,比如修改表格列名、显示内容,可使用add_risktable()的stat参数指定自定义统计量,或者结合ggtext包调整样式,但一般前两种方法就能解决截断问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:14:56