2012-05-15 9 views
5

Estaba buscando una forma de trazar usando facet_grid en ggplot2 que solo muestra unas pocas facetas seleccionadas. decir que tengo el siguiente diagrama:trazar solo algunas facetas seleccionadas en facet_grid

enter image description here

estado buscando una forma rápida de, por ejemplo, sólo las facetas parcela 1 y 3.

#data 
y<-1:12 
x<-c(1,2,3,1,2,3,1,2,3,1,2,3) 
z<-c("a","a","a","b","b","b","a","a","a","b","b","b") 
df<-as.data.frame(cbind(x,y,z)) 

#plot 

a <- ggplot(df, aes(x = z, y = y, 
    fill = z)) 
b <- a + geom_bar(stat = "identity", position = "dodge") 
c <- b + facet_grid(. ~ x, scale = "free_y") 
c 

Obviamente me di cuenta de cómo acaba despedazar mis datos primero, pero por supuesto debe ser posible asignarlos en ggplot2. Incluso un pequeño empujón sería bienvenido.

+3

No está seguro de lo que entendemos por "destinar en ggplot2". La forma en que haces esto es subconjugar tus datos cuando los pasas a ggplot. – joran

+0

hmm .. Acabo de complicar las cosas. muchas gracias. –

Respuesta

8

Uso subset en su llamada ggplot.

plot_1 = ggplot(subset(df, x %in% c(1, 2)), aes(x=z, y=y, fill=z)) + 
     geom_bar(stat = "identity", position = "dodge") + 
     facet_grid(. ~ x, scale = "free_y") 

enter image description here

2

Sería esto está bien,

a <- ggplot(subset(df, x != 2), aes(x = z, y = y, fill = z)) 
b <- a + geom_bar(stat = "identity", position = "dodge") 
c <- b + facet_grid(. ~ x, scale = "free_y") 
c 
Cuestiones relacionadas