Custom dimensions for a ggplot2 boxplot doesn't work with ggplotly
Nessuno ha ancora preso questa issue.
- Lingua principale
- R
- Stelle
- 2.7k
- Fork
- 641
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
When I create a ggplot2 boxplot with custom dimensions (see the bottom of http://ggplot2.tidyverse.org/reference/geom_boxplot.html#examples), plotly doesn't render the boxplot when I apply ggplotly. However, it works ok with a traditional boxplot where the dimensions are calculated by geom_boxplot/stat_boxplot.
Below is a reproducible example of the issue.
## Libraries
library(ggplot2)
library(plotly)
## Using fake data with extreme values
fake_data = data.frame(
y1 = c(rnorm(100, 2, 3), rnorm(10, 10, 15))
)
# ggplot2
g1 = ggplot(data=fake_data, aes(x ="cat1", y= y1)) +
#stat_boxplot(geom="errorbar") +
geom_boxplot() +
labs(title="Traditional Boxplot") +
ylim(c(-5, 25))
g1
quants = quantile(fake_data$y1, c(0.05, .25, .5, .75, .95))
q_df = data.frame(t(quants))
names(q_df) = c("y5", "y25", "y50", "y75", "y95")
g2 = ggplot(data=q_df, aes(x ="cat1")) +
#stat_boxplot(geom="errorbar") +
geom_boxplot(stat="identity", aes(,
ymin = y5, lower = y25,
middle = y50, upper = y75,
ymax = y95)) +
geom_point(data=subset(fake_data, (y1 > q_df$y95) | (y1 < q_df$y5)), aes(y=y1)) +
labs(title="5%/95% Boxplot") +
ylim(c(-5, 25))
g2
# plotly
plotly::ggplotly(g1)
plotly::ggplotly(g2) # DOESN'T WORK!
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Iniziare con l’esempio R riproducibile nell’issue e confrontare ggplotly(g1) con ggplotly(g2), concentrandosi sul boxplot con stat="identity" e sulle mappature personalizzate di ymin, lower, middle, upper e ymax. Riprodurre il fallimento, quindi tracciare il percorso di conversione di ggplotly per questi valori del boxplot; il lavoro è completato quando il grafico con dimensioni personalizzate viene renderizzato preservando i punti anomali.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- r
- Ambito
- data-visualization
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100