首页 > 解决方案 > 来自循环的页面上的多个绘图

问题描述

我正在尝试循环每个字段以创建绘图输出,并且该代码适用于该代码。但我试图将总共 21 个图放入 pdf 中,每页上有 4 个图。不幸的是,由于机密性,我无法分享数据,但如果有任何调整,我将非常感激你可以建议我做

library(ggplot2)
library(dplyr)

field = unique(toa$ref)
#fields values=284 306 288 292 302 296 273 280 253 191 209 214 185 205 166 165 135  91 109  57  72

for (i in field){
  fn = toa[which(toa$ref==i),]
  fn$day_dif = as.integer(difftime(fn$datetime_string_au,
                                   fn$datetime_string_au[1],units = 'day'))
  vert = data.frame(t(fn[1:1,7:13]), stringsAsFactors = FALSE)
  vert = na.omit(vert)
  vert$diff = as.integer(difftime(as.POSIXct(vert[,1],format="%Y-%m-%d"),
                                 fn$datetime_string_au[1],units = 'day'))
  
  plott = ggplot(fn, aes(day_dif, ndvi)) + ggtitle(paste("Field",i)) +
    geom_point()+
    stat_smooth(method = "gam", formula = y ~s(x), size = 1, se = T, colour = "blue")+
    geom_vline(data = vert, aes(xintercept = vert$diff),linetype = 'dashed') +
    geom_vline(xintercept = 0,lwd=1)+
    geom_hline(yintercept = 0,lwd=1)+
    geom_text(data = vert, aes(x = vert$diff, y = -0.3, label = row.names(vert)),
              angle=90,col=vert$diff)
  print(plott)
}

标签: rggplot2visualization

解决方案


推荐阅读