在R中自动保存在循环内绘制的网格图

时间:2016-06-13 11:37:30

标签: r gridview plot time-series

我有6个月的时间序列数据,我想像这样以网格方式绘制它 enter image description here

作为一个可重复的示例,请使用以下代码:

library(xts)
seq <- seq(as.POSIXct("2015-03-01"),as.POSIXct("2015-03-30"), by = "60 mins")
timeseries_ob <- xts(data.frame(rnorm(length(seq),30,2)),seq)
looplength <- length(unique(.indexmday(timeseries_ob)))
par(mfrow=c(4,3))
pdf("temp.pdf")
for(i in 1:looplength){
  daydata <- timeseries_ob[.indexmday(timeseries_ob)%in%i,]
  plot(daydata,type="l",main="")
}
dev.off()

使用此代码,绘图会自动保存,但它们不是网格方式。每个图都保存在pdf的不同页面中。还有其他方法可以自动以网格方式保存上面的图表。

注意:我不想使用facet_grid,因为这些图是在循环中生成的,我相信ggplot它可能会变得很复杂。

1 个答案:

答案 0 :(得分:2)

您必须在par(mfrow = c(4,3))pdf(...)之间使用dev.off()命令 这将导致您想要的结果!