2011-11-15 7 views
9

Sì, so che è stato intorno, ho anche trovato la risposta di Hadley su gruppi di google che non ci sono ancora intoppi per i boxplot ggplot2. Quindi la mia domanda è duplice: è cambiata (c'è già un'implementazione nativa di tacche) e se non c'è qualcosa che si può fare al riguardo.Posso ottenere le tacche di boxplot in ggplot2?

Voglio dire che non ho bisogno dell'ottica di intaglio, che rappresenta i limiti di confidenza di un'area ombreggiata che è opportunamente posizionata in un altro livello sopra il boxplot, sarebbe anche bello.

aggiunto anche uno screenshot perché ho sentito una domanda grafica non è mai completa senza la grafica enter image description here

risposta

14

Aggiornamento Oltre alle opzioni descritte di seguito, la versione 0.9.0 di ggplot2 include questa funzionalità in geom_boxplot. Esaminando ?geom_boxplot rivela un argomento notch e notchwidth:

+ geom_boxplot(notch = TRUE, notchwidth = 0.5) 

grafica non eleganti ma qui è un esempio:

# confidence interval calculated by `boxplot.stats` 
f <- function(x) { 
    ans <- boxplot.stats(x) 
    data.frame(ymin = ans$conf[1], ymax = ans$conf[2]) 
} 

# overlay plot (upper panel below) 
p <- ggplot(iris, aes(Species, Sepal.Length)) + geom_boxplot() + 
    stat_summary(fun.data = f, geom = "linerange", colour = "skyblue", size = 5) 
p 

# base graphics (lower panel below) 
boxplot(Sepal.Length ~ Species, data = iris, notch = TRUE) 

è possibile modificare l'apparence di Bar CI modificando gli argomenti di stat_summary. Versione

enter image description hereenter image description here

traversa:

f <- function(x) { 
    ans <- boxplot.stats(x) 
    data.frame(ymin = ans$conf[1], ymax = ans$conf[2], y = ans$stats[3]) 
} 

p <- ggplot(iris, aes(Species, Sepal.Length)) + 
    geom_boxplot(width = 0.8) + 
    stat_summary(fun.data = f, geom = "crossbar", 
    colour = NA, fill = "skyblue", width = 0.8, alpha = 0.5) 
p 

enter image description here

+0

Non male! Allargando il rettangolo azzurro e magari aggiungendo un po 'di trasparenza ad esso, sarebbe fondamentalmente perfetto. Grazie mille. –

+0

hmm, mi rendo conto che la dimensione fissa è un problema durante il ridimensionamento della trama. Non possiamo avere una dimensione più dinamica? –

+0

Aggiornato. Ho messo la versione della barra trasversale. – kohske

2

Può essere interessante che sul ggplot2-dev mailing list un post riguardante notched box plots è stato pubblicato.

È possibile trovare la pagina di sviluppo su github. Il pacchetto può essere installato tramite:

# install.packages("devtools") 
library(devtools) 
install_github("ggplot2") 
Problemi correlati