【发布时间】:2016-01-20 08:56:48
【问题描述】:
我有一个工作循环,它可以从目录中保存的每个文件中生成并保存单独的图。
我想在一个文件中将所有返回的图绘制为多个页面上的 2x2 网格,但不能这样做。
我已尝试将绘图对象保存在列表中
pltList <- list()
pltList[]
for (f in 1:length(files)){
plot_object <- ggplot2(...) #make ggplot2 plot
print(plot_object)
pltList[[f]] <- plot_object #save ggplot2 plot in list
}
jpeg(filename.jpg)
par(mfrow=c(2,2)) #to generate 2x2 plot per page
print(pltList[[1]])
print(pltList[[2]])
...
print(pltList[[f]])
dev.off()
问题是生成的保存的 .jpg 文件只包含最后一个图,而不是我想要的多页上所有图的 2x2 网格。
编辑
我的第一个问题是如何从列表中的循环中保存每个图 - 我如何查看列表中保存的对象以确保它们已正确保存?
当我执行print(pltList[1]) 时,结果输出为:
function (x, y, ...)
UseMethod("plot")
<bytecode: 0x0000000010f43b78>
<environment: namespace:graphics>
而不是实际情节。似乎这些图没有按预期保存在列表中。我该如何纠正这个? 希望一旦解决此问题,您的绘图建议将起作用。
【问题讨论】:
-
这是另一种可能的解决方案:statisticalrecipes.blogspot.com/2015/07/…
-
也许我在回答中遗漏了一些东西。 “多页上所有图的网格”是什么意思?
-
带页面的JPEG图像输出?