tooltip=text does not allow for layers with different alpha values
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- R
- Sterne
- 2.7k
- Forks
- 641
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das bereitgestellte R-Beispiel mit ggplotly(tooltip='text') auszuführen, und vergleiche die gerenderten Alpha-Werte für geom_linerange und geom_point. Verfolge den ggplotly-Konvertierungspfad für geschichtete Diagramme und überprüfe, dass jede Ebene ihren eigenen Alpha-Wert beibehält, anstatt den niedrigsten Wert auf alle Ebenen anzuwenden. Erledigt ist dies, wenn die beiden Ebenen mit ihren angegebenen Alpha-Werten gerendert werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- r
- Bereich
- data-visualization
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100