【问题标题】:How can I edit my looped ggplot code to produce a panel plot? [duplicate]如何编辑循环的 ggplot 代码以生成面板图? [复制]
【发布时间】:2019-05-07 15:53:10
【问题描述】:

我使用循环的 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 个都放在一个面板图图像上。

非常感谢您的帮助!

【问题讨论】:

标签: r


【解决方案1】:

【讨论】:

  • 同时检查 ggplot 的 facet_wrap()facet_grid() 选项。非常方便。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-07
  • 1970-01-01
  • 2016-09-06
相关资源
最近更新 更多