我有一個工作循環,它可以生成並保存目錄中保存的每個文件的單個繪圖。在同一頁上繪製多個ggplot2
我想將單個文件中的所有返回的圖作爲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文件只包含最後一個情節,而不是所有地塊的2×2格到多個頁面,這是我想要的是。
編輯
我的第一個問題是如何各小區保存在列表中循環 - 我如何可以查看保存的對象從列表中,以確保它們已被正確地保存? 當我做print(pltList[1])
,輸出結果是:
function (x, y, ...)
UseMethod("plot")
<bytecode: 0x0000000010f43b78>
<environment: namespace:graphics>
而不是實際的情節。看來這些地塊並沒有像預期的那樣被保存在列表中。我該如何糾正? 希望一旦這個問題得到解決,你的繪圖建議就可以發揮作用。
有良好的功能做http://www.cookbook-r.com/Graphs/Multiple_graphs_on_one_page_%28ggplot2%29/ – Batanichek
這裏有另一種可能的解決方案:http://statisticalrecipes.blogspot.com/2015/07/cowplot-arrange-ggplot2-figures-in-grid.html – ulfelder
也許我錯過了我的答案。 「網頁上的所有地塊網格」是什麼意思? – Alex