是否可以将facet_grid用于网格映射不同数据的行(或列)?
我有数据框:
data=data.frame(x = c(6, 10, 4, 6, 4, 4, 9, 2, 4, 4, 5, 4, 2, 7, 8, 3), z1 = c(6, 6, 9, 8, 8, 2, 3, 1, 9, 8, 3, 9, 8, 1, 10, 7), z2 = c(8, 5, 6, 3, 9, 9, 8, 5, 1, 3, 5, 8, 8, 2, 3, 3), r = c('1L', '1L', '1L', '1L','1L', '1L', '1L', '1L', '2L', '2L', '2L', '2L', '2L', '2L', '2L', '2L'))
.
目前我可以为我想要的每个y映射组合2个facet包:
p1 <- ggplot(data,aes(x=x,y=z1))+facet_wrap(~r)+geom_point(aes(colour=r))
p2 <- ggplot(data,aes(x=x,y=z2))+facet_wrap(~r)+geom_point(aes(colour=r))
arrangeGrob(p1,p2,nrow=2)
是否可以将这些内容组合在一起facet_grid
?
答案 0 :(得分:1)
如果您希望将所有数据放在一个图表中,那么只需重新整形数据就更好了。在这里,我使用了reshape2
库来简化
library(reshape2)
mm <- melt(data, id.vars=c("x","r"))
ggplot(mm,aes(x=x,y=value))+facet_grid(variable~r)+geom_point(aes(colour=r))