kassambara / survminer

Survival Analysis and Visualization
https://rpkgs.datanovia.com/survminer/
506 stars 162 forks source link

ggplot2 annotate() not working with ggsurvplot() #584

Open erbw opened 2 years ago

erbw commented 2 years ago

Expected behavior

Produce plot with annotation

Actual behavior

Error in ggsurvplot(fit, data = surv_data) + annotate("text", label = "DRAFT", : non-numeric argument to binary operator In addition: Warning message: Incompatible methods ("+.ggsurv", "+.gg") for "+"

Workaround: replace + with %++% produces desired plot

Steps to reproduce the problem

ggsurvplot(fit,data=surv_data) + annotate("text", label = "DRAFT", x = 0, y = 0, hjust = 1, vjust = 1)

session_info()

─ Session info ──────────────────────────────────────────────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 4.1.0 (2021-05-18)
 os       Red Hat Enterprise Linux    
 system   x86_64, linux-gnu           
 ui       RStudio                     
 language (EN)                        
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       Europe/Zurich               
 date     2022-04-29                  

─ Packages ──────────────────────────────────────────────────────────────────────────────────────────────────────────
 package      * version  date       lib source        
 abind          1.4-5    2016-07-21 [1] CRAN (R 4.1.0)
 assertthat     0.2.1    2019-03-21 [1] CRAN (R 4.1.0)
 backports      1.2.1    2020-12-09 [1] CRAN (R 4.1.0)
 base64enc      0.1-3    2015-07-28 [1] CRAN (R 4.1.0)
 binom          1.1-1    2014-01-02 [1] CRAN (R 4.1.0)
 bitops         1.0-7    2021-04-24 [1] CRAN (R 4.1.0)
 boot           1.3-28   2021-05-03 [2] CRAN (R 4.1.0)
 broom          0.7.9    2021-07-27 [1] CRAN (R 4.1.0)
 cachem         1.0.6    2021-08-19 [1] CRAN (R 4.1.0)
 callr          3.7.0    2021-04-20 [1] CRAN (R 4.1.0)
 car            3.0-11   2021-06-27 [1] CRAN (R 4.1.0)
 carData        3.0-4    2020-05-22 [1] CRAN (R 4.1.0)
 cellranger     1.1.0    2016-07-27 [1] CRAN (R 4.1.0)
 checkmate      2.0.0    2020-02-06 [1] CRAN (R 4.1.0)
 class          7.3-19   2021-05-03 [2] CRAN (R 4.1.0)
 cli            3.1.1    2022-01-20 [1] CRAN (R 4.1.0)
 cluster        2.1.2    2021-04-17 [2] CRAN (R 4.1.0)
 colorspace     2.0-2    2021-06-24 [1] CRAN (R 4.1.0)
 crayon         1.4.2    2021-10-29 [1] CRAN (R 4.1.0)
 curl           4.3.2    2021-06-23 [1] CRAN (R 4.1.0)
 data.table     1.14.0   2021-02-21 [1] CRAN (R 4.1.0)
 DBI            1.1.2    2021-12-20 [1] CRAN (R 4.1.0)
 Deriv          4.1.3    2021-02-24 [1] CRAN (R 4.1.0)
 desc           1.3.0    2021-03-05 [1] CRAN (R 4.1.0)
 DescTools      0.99.42  2021-06-17 [1] CRAN (R 4.1.0)
 devtools     * 2.4.2    2021-06-07 [1] CRAN (R 4.1.0)
 digest         0.6.29   2021-12-01 [1] CRAN (R 4.1.0)
 dplyr        * 1.0.8    2022-02-08 [1] CRAN (R 4.1.0)
 e1071          1.7-8    2021-07-28 [1] CRAN (R 4.1.0)
 ellipsis       0.3.2    2021-04-29 [1] CRAN (R 4.1.0)
 Exact          2.1      2020-10-02 [1] CRAN (R 4.1.0)
 expm           0.999-6  2021-01-13 [1] CRAN (R 4.1.0)
 fansi          0.5.0    2021-05-25 [1] CRAN (R 4.1.0)
 farver         2.1.0    2021-02-28 [1] CRAN (R 4.1.0)
 fastmap        1.1.0    2021-01-25 [1] CRAN (R 4.1.0)
 forcats        0.5.1    2021-01-27 [1] CRAN (R 4.1.0)
 foreign        0.8-81   2020-12-22 [2] CRAN (R 4.1.0)
 Formula        1.2-4    2020-10-16 [1] CRAN (R 4.1.0)
 fs             1.5.0    2020-07-31 [1] CRAN (R 4.1.0)
 generics       0.1.0    2020-10-31 [1] CRAN (R 4.1.0)
 ggplot2      * 3.3.5    2021-06-25 [1] CRAN (R 4.1.0)
 ggpubr       * 0.4.0    2020-06-27 [1] CRAN (R 4.1.0)
 ggsignif       0.6.2    2021-06-14 [1] CRAN (R 4.1.0)
 gld            2.6.2    2020-01-08 [1] CRAN (R 4.1.0)
 glue           1.6.1    2022-01-22 [1] CRAN (R 4.1.0)
 gridExtra      2.3      2017-09-09 [1] CRAN (R 4.1.0)
 gtable         0.3.0    2019-03-25 [1] CRAN (R 4.1.0)
 haven        * 2.4.3    2021-08-04 [1] CRAN (R 4.1.0)
 Hmisc          4.5-0    2021-02-28 [1] CRAN (R 4.1.0)
 hms            1.1.0    2021-05-17 [1] CRAN (R 4.1.0)
 htmlTable      2.2.1    2021-05-18 [1] CRAN (R 4.1.0)
 htmltools      0.5.2    2021-08-25 [1] CRAN (R 4.1.0)
 htmlwidgets    1.5.3    2020-12-10 [1] CRAN (R 4.1.0)
 jpeg           0.1-9    2021-07-24 [1] CRAN (R 4.1.0)
 km.ci          0.5-2    2009-08-30 [1] CRAN (R 4.1.0)
 KMsurv         0.1-5    2012-12-03 [1] CRAN (R 4.1.0)
 knitr          1.33     2021-04-24 [1] CRAN (R 4.1.0)
 labeling       0.4.2    2020-10-20 [1] CRAN (R 4.1.0)
 lattice        0.20-44  2021-05-02 [2] CRAN (R 4.1.0)
 latticeExtra   0.6-29   2019-12-19 [1] CRAN (R 4.1.0)
 lifecycle      1.0.1    2021-09-24 [1] CRAN (R 4.1.0)
 lmom           2.8      2019-03-12 [1] CRAN (R 4.1.0)
 magrittr       2.0.1    2020-11-17 [1] CRAN (R 4.1.0)
 MASS           7.3-54   2021-05-03 [2] CRAN (R 4.1.0)
 Matrix         1.3-3    2021-05-04 [2] CRAN (R 4.1.0)
 memoise        2.0.0    2021-01-26 [1] CRAN (R 4.1.0)
 minpack.lm     1.2-1    2016-11-20 [1] CRAN (R 4.1.0)
 munsell        0.5.0    2018-06-12 [1] CRAN (R 4.1.0)
 mvtnorm        1.1-2    2021-06-07 [1] CRAN (R 4.1.0)
 nnet           7.3-16   2021-05-03 [2] CRAN (R 4.1.0)
 openxlsx       4.2.4    2021-06-16 [1] CRAN (R 4.1.0)
 pander         0.6.4    2021-06-13 [1] CRAN (R 4.1.0)
 pillar         1.6.2    2021-07-29 [1] CRAN (R 4.1.0)
 pkgbuild       1.2.0    2020-12-15 [1] CRAN (R 4.1.0)
 pkgconfig      2.0.3    2019-09-22 [1] CRAN (R 4.1.0)
 pkgload        1.2.1    2021-04-06 [1] CRAN (R 4.1.0)
 plyr         * 1.8.6    2020-03-03 [1] CRAN (R 4.1.0)
 png            0.1-7    2013-12-03 [1] CRAN (R 4.1.0)
 prettyunits    1.1.1    2020-01-24 [1] CRAN (R 4.1.0)
 processx       3.5.2    2021-04-30 [1] CRAN (R 4.1.0)
 proxy          0.4-26   2021-06-07 [1] CRAN (R 4.1.0)
 ps             1.6.0    2021-02-28 [1] CRAN (R 4.1.0)
 purrr          0.3.4    2020-04-17 [1] CRAN (R 4.1.0)
 R6             2.5.1    2021-08-19 [1] CRAN (R 4.1.0)
 ragg           1.2.1    2021-12-06 [1] CRAN (R 4.1.0)
 RColorBrewer   1.1-2    2014-12-07 [1] CRAN (R 4.1.0)
 Rcpp           1.0.7    2021-07-07 [1] CRAN (R 4.1.0)
 RCurl          1.98-1.4 2021-08-17 [1] CRAN (R 4.1.0)
 readr          2.0.1    2021-08-10 [1] CRAN (R 4.1.0)
 readxl       * 1.3.1    2019-03-13 [1] CRAN (R 4.1.0)
 remotes        2.4.0    2021-06-02 [1] CRAN (R 4.1.0)
 rio            0.5.27   2021-06-21 [1] CRAN (R 4.1.0)
 rlang          1.0.1    2022-02-03 [1] CRAN (R 4.1.0)
 rootSolve      1.8.2.2  2021-07-05 [1] CRAN (R 4.1.0)
 rpart          4.1-15   2019-04-12 [2] CRAN (R 4.1.0)
 rprojroot      2.0.2    2020-11-15 [1] CRAN (R 4.1.0)
 rstatix        0.7.0    2021-02-13 [1] CRAN (R 4.1.0)
 rstudioapi     0.13     2020-11-12 [1] CRAN (R 4.1.0)
 scales         1.1.1    2020-05-11 [1] CRAN (R 4.1.0)
 sessioninfo    1.1.1    2018-11-05 [1] CRAN (R 4.1.0)
 stringi        1.7.3    2021-07-16 [1] CRAN (R 4.1.0)
 stringr        1.4.0    2019-02-10 [1] CRAN (R 4.1.0)
 survival     * 3.2-11   2021-04-26 [2] CRAN (R 4.1.0)
 survminer    * 0.4.9    2021-03-09 [1] CRAN (R 4.1.0)
 survMisc       0.5.5    2018-07-05 [1] CRAN (R 4.1.0)
 systemfonts    1.0.4    2022-02-11 [1] CRAN (R 4.1.0)
 testthat       3.0.4    2021-07-01 [1] CRAN (R 4.1.0)
 textshaping    0.3.6    2021-10-13 [1] CRAN (R 4.1.0)
 tibble         3.1.3    2021-07-23 [1] CRAN (R 4.1.0)
 tidyr          1.1.3    2021-03-03 [1] CRAN (R 4.1.0)
 tidyselect     1.1.1    2021-04-30 [1] CRAN (R 4.1.0)
 tzdb           0.1.2    2021-07-20 [1] CRAN (R 4.1.0)
 usethis      * 2.0.1    2021-02-10 [1] CRAN (R 4.1.0)
 utf8           1.2.2    2021-07-24 [1] CRAN (R 4.1.0)
 vctrs          0.3.8    2021-04-29 [1] CRAN (R 4.1.0)
 withr          2.4.3    2021-11-30 [1] CRAN (R 4.1.0)
 xfun           0.25     2021-08-06 [1] CRAN (R 4.1.0)
 xgxr         * 1.1.1    2021-04-22 [1] CRAN (R 4.1.0)
 xtable         1.8-4    2019-04-21 [1] CRAN (R 4.1.0)
 zip            2.2.0    2021-05-31 [1] CRAN (R 4.1.0)
 zoo            1.8-9    2021-03-09 [1] CRAN (R 4.1.0)

[1] /CHBS/apps/EB/software/R-bundle-Novartis/0.2-gomkl-2019a-R-4.1.0
[2] /CHBS/apps/EB/software/R/4.1.0-gomkl-2019a/lib64/R/library
Nicky-Jin commented 2 years ago

You can use the codes below to transfer a ggsurvplot to a ggplot subject:

p <- ggsurvplot(fit,data=surv_data) 
p1 <- p$plot
p1 <- p1 + annotate("text", label = "DRAFT", x = 0, y = 0, hjust = 1, vjust = 1)

Once transfered, it can be treated as a regular ggplot.