7

我正在寻找一种仅显示几个选定方面的绘图方法facet_gridggplot2说我有以下情节:

在此处输入图像描述

一直在寻找一种快速的方法,例如,只绘制方面 1 和 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

显然,我想出了如何首先切碎我的数据,但这当然必须可以分配,ggplot2即使只是轻推也是最受欢迎的。

4

2 回答 2

12

subset在您的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")

在此处输入图像描述

于 2012-05-15T20:26:39.807 回答
3

这样可以吗

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
于 2012-05-15T20:25:41.513 回答