I am trying to save a ggsurvplot
with risk.table
using ggsave
. However, the output off ggsave
is always just the risk.table
. I also tried this and this. None is working.
library(data.table)
library(survival)
library(survminer)
OS <- c(c(1:100), seq(1, 75, length = 50), c(1:50))
dead <- rep(1, times = 200)
variable <- c(rep(0, times = 100), rep(1, times = 50), rep(2, times = 50))
dt <- data.table(OS = OS,
dead = dead,
variable = variable)
survfit <- survfit(Surv(OS, dead) ~ variable, data = dt)
ggsurvplot(survfit, data = dt,
risk.table = TRUE)
ggsave("test.png")
The main issue is that a
ggsurvplot
object is a list of plots. Hence, when usingggsave
only the last plot or element of the list is saved.There is already a GitHub issue on that topic with several workarounds, e.g. using one of the more recent suggestions this works fine for me