ggtree
ggtree copied to clipboard
Failed convertion ggtree into plotly
trafficstars
Hello,
I try to convert my tree, previoulsy made in ggtree into a plotly tree but label and color disapear after conversion.
Test code :
library(ggimage)
library(ggtree)
library(TDbook)
# load `tree_boots`, `df_tip_data`, and `df_inode_data` from 'TDbook'
p <- ggtree(tree_boots) %<+% df_tip_data + xlim(-.1, 4)
p2 <- p + geom_tiplab(offset = .6, hjust = .5) +
geom_tippoint(aes(shape = trophic_habit, color = trophic_habit,
size = mass_in_kg)) +
theme(legend.position = "right") +
scale_size_continuous(range = c(3, 10))
my_plotly <- ggplotly(p2)
output R terminal :
my_plotly <- ggplotly(p2)
Warning messages:
1: In geom2trace.default(dots[[1L]][[1L]], dots[[2L]][[1L]], dots[[3L]][[1L]]) :
geom_GeomTextGGtree() has yet to be implemented in plotly.
If you'd like to see this geom implemented,
Please open an issue with your example code at
https://github.com/ropensci/plotly/issues
2: In geom2trace.default(dots[[1L]][[3L]], dots[[2L]][[1L]], dots[[3L]][[1L]]) :
geom_GeomPointGGtree() has yet to be implemented in plotly.
If you'd like to see this geom implemented,
Please open an issue with your example code at
https://github.com/ropensci/plotly/issues
3: In geom2trace.default(dots[[1L]][[3L]], dots[[2L]][[1L]], dots[[3L]][[1L]]) :
geom_GeomPointGGtree() has yet to be implemented in plotly.
If you'd like to see this geom implemented,
Please open an issue with your example code at
https://github.com/ropensci/plotly/issues
4: In geom2trace.default(dots[[1L]][[3L]], dots[[2L]][[1L]], dots[[3L]][[1L]]) :
geom_GeomPointGGtree() has yet to be implemented in plotly.
If you'd like to see this geom implemented,
Please open an issue with your example code at
https://github.com/ropensci/plotly/issues
my sessionInfo( ) output :
sessionInfo()
R version 4.4.1 (2024-06-14)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 22.04.4 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so; LAPACK version 3.10.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
time zone: Etc/UTC
tzcode source: system (glibc)
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] TDbook_0.0.6 ggimage_0.3.3 plotly_4.10.4 pak_0.7.2 aplot_0.2.3 phytools_2.3-0 maps_3.4.2 ape_5.8 treeio_1.28.0 ggtree_3.12.0 scales_1.3.0 reshape2_1.4.4
[13] factoextra_1.0.7 FactoMineR_2.11 ggcorrplot_0.1.4.1 corrplot_0.94 corrr_0.4.4 viridis_0.6.5 viridisLite_0.4.2 ggpubr_0.6.0 ggExtra_0.10.1 lubridate_1.9.3 forcats_1.0.0 stringr_1.5.1
[25] dplyr_1.1.4 purrr_1.0.2 readr_2.1.5 tidyr_1.3.1 tibble_3.2.1 ggplot2_3.5.1 tidyverse_2.0.0
loaded via a namespace (and not attached):
[1] rstudioapi_0.16.0 jsonlite_1.8.8 magrittr_2.0.3 magick_2.8.4 estimability_1.5.1 farver_2.1.2 rmarkdown_2.27 fs_1.6.4 ragg_1.3.2
[10] vctrs_0.6.5 rstatix_0.7.2 htmltools_0.5.8.1 DEoptim_2.2-8 broom_1.0.6 gridGraphics_0.5-1 htmlwidgets_1.6.4 plyr_1.8.9 httr2_1.0.1
[19] emmeans_1.10.4 igraph_2.0.3 mime_0.12 lifecycle_1.0.4 iterators_1.0.14 pkgconfig_2.0.3 Matrix_1.7-0 R6_2.5.1 fastmap_1.2.0
[28] shiny_1.8.1.1 digest_0.6.35 numDeriv_2016.8-1.1 colorspace_2.1-0 patchwork_1.2.0 ps_1.7.6 textshaping_0.4.0 crosstalk_1.2.1 labeling_0.4.3
[37] clusterGeneration_1.3.8 fansi_1.0.6 timechange_0.3.0 httr_1.4.7 abind_1.4-5 compiler_4.4.1 withr_3.0.0 doParallel_1.0.17 backports_1.5.0
[46] optimParallel_1.0-2 carData_3.0-5 ggsignif_0.6.4 MASS_7.3-60.2 rappdirs_0.3.3 scatterplot3d_0.3-44 flashClust_1.01-2 tools_4.4.1 httpuv_1.6.15
[55] glue_1.7.0 quadprog_1.5-8 callr_3.7.6 nlme_3.1-164 promises_1.3.0 grid_4.4.1 cluster_2.1.6 generics_0.1.3 gtable_0.3.5
[64] tzdb_0.4.0 data.table_1.15.4 hms_1.1.3 car_3.1-2 utf8_1.2.4 ggrepel_0.9.5 foreach_1.5.2 pillar_1.9.0 yulab.utils_0.1.6
[73] later_1.3.2 lattice_0.22-6 tidyselect_1.2.1 miniUI_0.1.1.1 knitr_1.47 gridExtra_2.3 xfun_0.44 expm_1.0-0 DT_0.33
[82] stringi_1.8.4 lazyeval_0.2.2 ggfun_0.1.5 yaml_2.3.8 evaluate_0.24.0 codetools_0.2-20 multcompView_0.1-10 ggplotify_0.1.2 cli_3.6.2
[91] xtable_1.8-4 systemfonts_1.1.0 munsell_0.5.1 processx_3.8.4 Rcpp_1.0.12 coda_0.19-4.1 parallel_4.4.1 leaps_3.2 phangorn_2.11.1
[100] mvtnorm_1.2-6 tidytree_0.4.6 combinat_0.0-8 rlang_1.1.4 fastmatch_1.1-4 mnormt_2.1.1
p2 :
my_plotly :
Thanks for your help
I ran into similar problems when I tried to convert a plot generated by ggtree. The problem appears to be that geom_tiplab and geom_tippoint are technically not the same as ggplot's geom_point and geom_text and conversion of those fails for that reason. This, and the fact that some layouts can not be converted to plotly at all made me use ggiraph to add interactivity to a ggtree plot. It works very well.