Reputation: 247
I am making a survival plot using ggsurvplot and the only thing I cannot achieve is to obtain colored labels on my legend : the legend lines are colored according to the strata, but not the associated labels. How can I do this ?
What I have for now :
ggsurv <- ggsurvplot(
fit = fit,
palette = colors,
break.time.by = .5, xlab = "Years",
surv.scale = "percent",
ylab = "Transplant-free Survival",
censor.shape="|", censor.size = 2,
legend = c(.2,.3),
legend.labs = c("0 criterion", "1 criterion", "2 criteria", "3 criteria"),
legend.title = "",
font.legend = c(12, "plain"),
risk.table = T,
risk.table.title = "Number at risk by time",
risk.table.fontsize = 3,
risk.table.height = 0.3, surv.plot.height = 0.7,
title = "Transplant-free survival according to the number of\nnon-invasive low-risk criteria",
font.main = c(12, "bold"),
pval = T, pval.size = 4, pval.coord = c(2, .1),
)
ggsurv$table <- ggsurv$table + theme(plot.title = element_text(size = 12, hjust = -0.3))
ggsurv$plot <- ggsurv$plot + theme(plot.title = element_text(hjust = .5))
ggsurv
Do you have any idea ? Thanks ! Olivier
Upvotes: 1
Views: 6066
Reputation: 2253
You can try adding colored text items with annotation
ggsurv$plot <- ggsurv$plot + annotate("text", x = 0, y = 0.35,
label = "Text here", cex=5, vjust=0.5,
hjust = 0, fontface=2, col="red")
Then
> ggsurv
Upvotes: 1