如何编辑循环的ggplot代码以生成面板图?

时间:2019-05-07 15:53:11

标签: r

我使用ggplot代码的循环位(如下所示)制作了许多图,这些图作为离散图像保存到磁盘中。我想制作一个面板图,将其中的几幅图像显示为一张。

如果我手动制作了图,我将其命名,然后调用par(mf)或类似名称以根据需要进行布局。但是,我找不到在循环内(或循环后)工作的替代方法。

*

 graph <- function(MONTH_13, na.rm=TRUE) {
  SITE_LIST <- unique(MONTH_13$SITE_NUMB) 
  for(i in seq_along(SITE_LIST)){
    plotA <- ggplot(subset(MONTH_13, MONTH_13$SITE_NUMB==SITE_LIST[i]), aes(HR, OXYCONC, colour=VIAL_ID)) + 
      geom_point(size=2) + 
      geom_smooth(method="lm", se= FALSE)+
      labs(x="HR", y="OXY") + 
      labs(title= SITE_LIST[i]) + 
      theme(legend.position="top") +
      scale_color_brewer(name="VIAL #", palette="Dark2") + 
      ylim(0, 400) + 
      xlim(0, 200) 
    ggsave(plotA, file=paste('/Users/stafel/Desktop/MONTH_13/Site_', SITE_LIST[i], ".png", sep=''), scale=2)
    print(plotA)}}
graph(MONTH_13)

*

上面的代码将产生13个图。我想将所有这些13个放到一个面板绘图图像上。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)