2012-06-06 12 views
11

Tengo datos con aproximadamente 30 categorías para el eje X en dos grupos para facetar. Voy a mostrar esto con algunos datos aleatorios:Fuerza del eje X en ambos gráficos en una cuadrícula de facetas cuando los valores X son los mismos

dataf <- data.frame(x=c(1:30), A=rnorm(30,20,5), B=rnorm(30,15,0.5)) 
datam <- melt(dataf, id="x") 
ggplot(datam, aes(factor(x), value)) + 
    geom_bar(stat="identity") + 
    facet_grid(variable ~ .) 

enter image description here

Esto es simplemente encantador, excepto que sería más fácil de leer rápidamente de categorías en el grupo superior si el eje x se reproduce en ese gráfico también. Sin embargo,

ggplot(datam, aes(factor(x), value)) + 
    geom_bar(stat="identity") + 
    facet_grid(variable ~ ., scales="free") 

no hace ninguna diferencia en el eje x porque, supongo, los valores son los mismos para ambas agrupaciones.

¿Cómo puedo forzar la reproducción del eje X para el grupo superior y las barras?

Respuesta

14

Trate de usar facet_wrap lugar:

ggplot(datam, aes(factor(x), value)) + 
    geom_bar(stat="identity") + 
    facet_wrap(~variable,nrow = 2,scales = "free") 

enter image description here

Cuestiones relacionadas