Galactose
Galactose

Reputation: 247

R : ggsurvplot colored legend labels (text)

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

enter image description here

Do you have any idea ? Thanks ! Olivier

Upvotes: 1

Views: 6066

Answers (1)

cmirian
cmirian

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

Related Questions