plotly / plotly/plotly.R

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

Ouverte
#2,181 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
R
Étoiles
2.7k
Forks
641
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par exécuter l’exemple R fourni avec ggplotly(tooltip='text') et comparez les valeurs d’alpha rendues pour geom_linerange et geom_point. Suivez le chemin de conversion de ggplotly pour les graphiques à plusieurs couches et vérifiez que chaque couche conserve sa propre valeur d’alpha, au lieu d’appliquer la valeur la plus faible à toutes les couches. C’est terminé lorsque les deux couches sont rendues avec leurs valeurs d’alpha spécifiées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
r
Domaine
data-visualization
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.