plotly.R icon indicating copy to clipboard operation
plotly.R copied to clipboard

tooltip=text does not allow for layers with different alpha values

Open nick-youngblut opened this issue 3 years ago • 0 comments

If ggplotly(tooltip=) is used with a ggplot object that includes 2 layers with different alpha values, then the lower alpha will be used for all layers.


Brief description of the problem

# geom_linerange has a lower alpha (0.3) than geom_point (1)
p = mpg %>%
  group_by(model) %>%
  summarize(mean_mpg = mean(hwy),
            sd_mpg = sd(hwy)) %>%
  ggplot(aes(model, mean_mpg)) +
  geom_linerange(aes(ymin=mean_mpg - sd_mpg, 
                     ymax=mean_mpg + sd_mpg), alpha=0.3) +
  geom_point() +
  theme(
    axis.text.x = element_text(angle=45, hjust=1)
  )
ggplotly(p)
# both layers have an alpha of 0.3
p = mpg %>%
  group_by(model) %>%
  summarize(mean_mpg = mean(hwy),
            sd_mpg = sd(hwy)) %>%
  ggplot(aes(model, mean_mpg, text=model)) +
  geom_linerange(aes(ymin=mean_mpg - sd_mpg, 
                     ymax=mean_mpg + sd_mpg), alpha=0.3) +
  geom_point() +
  theme(
    axis.text.x = element_text(angle=45, hjust=1)
  )
ggplotly(p, tooltip='text')

sessionInfo

R version 4.2.1 (2022-06-23)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Monterey 12.5.1

Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base     

other attached packages:
 [1] heatmaply_1.3.0   viridis_0.6.2     viridisLite_0.4.1 gtsummary_1.6.1   skimr_2.1.4       plotly_4.10.0     ggplot2_3.3.6    
 [8] tidytable_0.8.1   data.table_1.14.2 dplyr_1.0.10     

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.9          lattice_0.20-45     tidyr_1.2.1         assertthat_0.2.1    digest_0.6.29       foreach_1.5.2      
 [7] utf8_1.2.2          plyr_1.8.7          R6_2.5.1            repr_1.1.4          httr_1.4.4          pillar_1.8.1       
[13] rlang_1.0.5         lazyeval_0.2.2      Matrix_1.4-1        labeling_0.4.2      splines_4.2.1       webshot_0.5.3      
[19] stringr_1.4.1       htmlwidgets_1.5.4   munsell_0.5.0       compiler_4.2.1      xfun_0.32           pkgconfig_2.0.3    
[25] base64enc_0.1-3     mgcv_1.8-40         htmltools_0.5.3     tidyselect_1.1.2    tibble_3.1.8        gridExtra_2.3      
[31] seriation_1.3.6     codetools_0.2-18    dendextend_1.16.0   fansi_1.0.3         crayon_1.5.1        withr_2.5.0        
[37] commonmark_1.8.0    grid_4.2.1          registry_0.5-1      nlme_3.1-157        jsonlite_1.8.0      gtable_0.3.1       
[43] lifecycle_1.0.2     magrittr_2.0.3      scales_1.2.1        cli_3.4.0           stringi_1.7.8       reshape2_1.4.4     
[49] farver_2.1.1        renv_0.15.5         broom.helpers_1.8.0 ellipsis_0.3.2      generics_0.1.3      vctrs_0.4.1        
[55] RColorBrewer_1.1-3  iterators_1.0.14    tools_4.2.1         forcats_0.5.2       glue_1.6.2          purrr_0.3.4        
[61] crosstalk_1.2.0     fastmap_1.1.0       yaml_2.3.5          colorspace_2.0-3    TSP_1.2-1           gt_0.7.0           
[67] knitr_1.40          sass_0.4.2

nick-youngblut avatar Sep 13 '22 20:09 nick-youngblut