我可以在 ggplot 和 survminer::ggsurvplot 中设置不同的 x 轴中断。我目前正在使用break.time.by = 365.25 / 12
(每月)进行设置。但是,我需要每 12 个月为表格设置一次轴标签(以满足我无法更改的格式要求)。我尝试仅格式化整个绘图的表格组件并使用 scale_x_continuous(breaks = c(values here)) 但这不起作用。我收到一条消息说Scale for 'x' is already present. Adding another scale for 'x', which will replace the existing scale.
问问题
29 次
1 回答
0
您可以在由 创建的对象中替换比例ggsurvplot
,这是一个包含两个ggplot
对象(除其他外)的类似列表的对象。这些ggplot
对象之一称为table
。您可以添加第二个scale_x_continuous
(并收到有关添加第二个比例的警告),或者只是覆盖原件。
例如,我们将使用包中的一个内置数据集survival
:
library(survival)
library(survminer)
fit3 <- survfit( Surv(time, status) ~ sex, data = colon)
ggsurv <- ggsurvplot(fit3, data = colon,
fun = "cumhaz", conf.int = TRUE,
risk.table = TRUE, risk.table.col="strata",
ggtheme = theme_bw())
ggsurv
我们可以通过执行以下操作找出哪个比例对象是 x 比例:
x <- which(ggsurv$table$scales$find("x"))
并用我们自己的规模覆盖它。例如,我们可以每 200 个而不是每 1000 个单位休息:
ggsurv$table$scales$scales[[x]] <- scale_x_continuous(breaks = 0:15 * 200)
现在我们的绘图如我们所愿,在表格的 x 轴上有新的比例:
ggsurv
由reprex 包(v2.0.1)于 2022-01-26 创建
于 2022-01-26T23:07:51.053 回答