【发布时间】:2015-01-13 13:22:06
【问题描述】:
考虑以下示例:
require(ggplot2)
aa <- data.frame(date = runif(3,1,100),Change = runif(3,1,100))
bb <- data.frame(date = runif(3,1,100),Change = runif(3,1,100))
dd <- rbind(aa,bb)
dd$site <- c("aa","aa","aa","bb","bb","bb")
是否可以在同一个文档中生成 2 个图,其中图 1 应该是对应于 sites == 'aa' 的那些站点,而第二个应该是对应于 sites == 'bb' 的那些站点?
我尝试在循环中生成数字,但 pdf 中似乎没有绘制任何内容:
nams <- ("aa","bb")
pdf("plots.pdf",width = 6,height = 6, paper='A4',family = "Times")
for (i in 1:2){
dd2 <- dd[dd$site == nams[i],]
ggplot(dd,aes(date,Change)) +
geom_line()
}
dev.off()
【问题讨论】:
-
为什么不使用
facets?ggplot(dd, aes(date, Change)) + geom_line() + facet_grid(site~.) -
这只是一个示例代码,我的真实数据有 200 多个站点,因此我需要不同的图,我不能实际使用构面。
-
您是希望在同一个窗口中绘制多个图,还是要一个循环来单独绘制每个组?如果是前者,look here.