2013-01-06 27 views
5

我在R中有6個圖,我想在單個視圖中繪製它們。換句話說,我想把它們放在A4大小的單頁內。使用R代碼在A4紙上放置多個圖

我使用的劇情代碼:

plot(temp$ambtemp,type="o", pch=22, lty=2, col="brown",xlab = "Hour 2007/09/30" , ylab= "Tempreture") 

title(main="Hourly Mean, node 25", col.main="brown", font.main=1) 

什麼建議嗎?

回答

7

這裏有一個如何做到這一點重複的例子:

pdf('eg.pdf', width = 8.3, height = 11.7) ## Device with dimensions of A4 paper 
par(omi = rep(.5, 4))      ## 1/2 inch outer margins 
par(mfrow = c(3,2))      ## 2x3 grid of plotting areas 
replicate(plot(rnorm(99)), n = 6)   ## 6 example plots 
dev.off() 
3

layout函數允許您將單個設備(例如A4紙)劃分爲幾個可用於繪圖的區域。

+0

又如何,我可以把地塊的數量在一個單一的佈局。 – Topdombili

+0

您可以使用'layout'函數告訴R如何對設備進行分區。然後你只需要調用'plot'相應的次數。假設你有2×2佈局。首先調用'plot'將在左上角繪製圖形。在四次調用「plot」之後,隨後的調用將繪製所有其他分區,最多總計4個地塊。 –

2

如果使用標準圖形,最簡單的方法是使用par(mfrow=c(3,2))。沒有其他需要。 但是,如果您想製作非常好的多面板圖(這也是您最後一個問題的答案),我強烈建議您看看latticeggplot2圖形。

+0

+1或者ggplot2,儘管這隻適用於如果圖是相同的圖但是數據中的因子的不同水平。例如,'c'的每個級別都有'a'和'b'。如果情節完全不同,則刻畫或格子圖不能最佳地工作。當然,'ggplot2'和'lattice'有自己的方法來達到與par(mfrow)相同的結果。 –