繁体   English   中英

R在一个循环中覆盖多个图

[英]R overlay multiple plots in a loop

所以我创建了一个循环来制作 10 个单独的图:

for (k in 1:nrow(sites)) {
  temp_title <- paste("site",k, "county", sites[k,2],"site",sites[k,3])
  l <- which(hourly_nj_table$County.Code==sites[k,2]&hourly_nj_table$Site.Num==sites[k,3])#grab data for each site individually
  temp_filename <- paste("/filepath",temp_title,".pdf")
  PM_site <- hourly_nj_table[l,]
  PM_site$realTime <- as.numeric(PM_site$Time.Local)
  PM_mean_site <- aggregate(PM_site, by=list(PM_site$Time.Local),FUN="mean",na.rm=TRUE)   
  plot(PM_mean_site$realTime,PM_mean_site$Sample.Measurement, type="l",lwd=10,main=paste(temp_title),xlab="LocalTime",ylab="Ozone (ppm)")#,ylim=c(0,0.05))
}

但我想看看它们如何在同一轴上进行比较。 通常(如果我只是对其进行硬编码)我会添加一个新参数,然后创建下一个图,但我不确定如何将它合并到一个循环中。

如果有帮助,数据全部来自一个 csv 文件。

谢谢!

你真的很亲近。 Plot()让球滚动, lines()将允许您在绘图内绘制:

for (k in 1:nrow(sites)) {
  temp_title <- paste("site",k, "county", sites[k,2],"site",sites[k,3])
  l <- which(hourly_nj_table$County.Code==sites[k,2]&hourly_nj_table$Site.Num==sites[k,3])#grab data for each site individually
  temp_filename <- paste("/Users/bob111higgins/Documents/School/College/Rutgers/Atmospheric Research",temp_title,".pdf")
  PM_site <- hourly_nj_table[l,]
  PM_site$realTime <- as.numeric(PM_site$Time.Local)
  PM_mean_site <- aggregate(PM_site, by=list(PM_site$Time.Local),FUN="mean",na.rm=TRUE)  #Make it average by time of day so can make time series plots. 
  ifesle(k ==1 , 
  plot(PM_mean_site$realTime,PM_mean_site$Sample.Measurement, type="l",lwd=10,main=paste(temp_title),xlab="LocalTime",ylab="Ozone (ppm)")#,ylim=c(0,0.05)),
  lines(PM_mean_site$realTime,PM_mean_site$Sample.Measurement, lwd=10))
}

我确信有更好的方法来解决这个问题,但这是我过去的做法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM