2013-08-18 77 views
1
par(mfrow=c(3,2)) 
plot(density(rnorm(100))) 
plot(density(rexp(100))) 
plot(density(rnorm(100))) 
plot(density(rexp(100))) 
plot(density(rnorm(100))) 
plot(density(rexp(100))) 

這給了我一個3x2的6個圖的數組。我可以轉置這個數組而不重做我的代碼嗎? (產生圖的原始代碼比上述複雜得多) - 我試圖用膠乳A4文件製作某些東西。)圖形設備上的移調圖R

+0

我認爲答案是否定的。可能只是後處理它(切割GIMP之類的結果圖像,然後以任何您需要的順序重新組合)。 – Thomas

+0

如果你只是想要一些適合投影儀的寬高比,那麼爲什麼不把第一行改爲:par(mfrow = c(2,3)) – CnrL

+0

^因爲這會改變它們出現的順序。 –

回答

2

使用layout而不是par(mfrow=...)以獲得更靈活的鑲板。

layout相當於你的3x2的面板par調用它

layout(matrix(1:6, nrow=3, byrow=TRUE)) 
plot(...) 
plot(...) 
plot(...) 
... 

更改到以下移調陣列,而無需改變plot電話

layout(matrix(1:6, 2)) 
plot(...) 
plot(...) 
plot(...) 
...