2011-11-15 19 views
9

Sí, sé que ha existido, también he encontrado la respuesta de Hadley en los grupos de google que todavía no hay muescas para ggplot2 boxplots. Entonces mi pregunta es doble: ¿Ha cambiado esto? (Hay una implementación nativa de muescas) y si no hay algo que uno pueda hacer al respecto.¿Puedo obtener muescas de diagrama de caja en ggplot2?

Quiero decir que no necesito la óptica de muesca, que representa los límites de confianza por un área sombreada que se coloca adecuadamente en otra capa sobre la gráfica de caja, se vería bien también.

También se ha añadido una captura de pantalla porque oí una pregunta gráficos nunca es completa sin el gráfico enter image description here

Respuesta

14

actualización Además de las opciones se detallan a continuación, la versión 0.9.0 de ggplot2 incluye esta característica en geom_boxplot. Examinar ?geom_boxplot revela un argumento notch y notchwidth:

+ geom_boxplot(notch = TRUE, notchwidth = 0.5) 

No elegantes gráficos, pero aquí es un ejemplo:

# 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) 

puede cambiar el apparence de la barra de CI mediante la deformación de los argumentos de stat_summary. Versión

enter image description hereenter image description here

travesaño:

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

¡No está mal! Al ampliar el rectángulo celeste y tal vez agregarle un poco de transparencia, sería básicamente perfecto. Muchas gracias. –

+0

hmm, me doy cuenta de que el tamaño fijo es un problema al escalar la trama. ¿No podemos tener un tamaño más dinámico? –

+0

Actualizado. Puse la versión de la barra transversal. – kohske

2

Puede ser interesante que en el ggplot2-dev mailing list un post referente a notched box plots ha sido publicado.

Puede encontrar la página de desarrollo en github. El paquete puede instalarse a través de:

# install.packages("devtools") 
library(devtools) 
install_github("ggplot2") 
Cuestiones relacionadas