我正在使用ggforce软件包在多个页面上生成多面图:

library(ggforce)

for(i in 1:6){
  ggplot(diamonds) +
    geom_point(aes(carat, price), alpha = 0.1) +
    facet_wrap_paginate(~cut:clarity, ncol = 2, nrow = 2, page = i)

  ggsave(paste0("~/diamonds_", i, ".pdf"))
}


生成预期的6个PDF文件:
r - 如何仅以一个pdf保存ggforce::facet_grid_paginate的输出?-LMLPHP

用一个6页的单一pdf输出最简单的方法是什么?

我知道可以使用reportspdftools包来完成此操作,但是我想知道是否有更直接的方法来完成此操作。我希望ggforce为单页输出提供功能,但是看起来不是这样吗?

最佳答案

您甚至都不需要使用ggsave,可以通过以下方式将所有这些图放入一个pdf中:

pdf("~/diamonds_all.pdf")
for(i in 1:6){
  print(ggplot(diamonds) +
          geom_point(aes(carat, price), alpha = 0.1) +
          facet_wrap_paginate(~cut:clarity, ncol = 2, nrow = 2, page = i))

}
dev.off()

07-24 09:51
查看更多