2015-10-26 110 views
0

我有一個多重繪圖,我想將其打印在A4 PDF頁面上,以便圖表填充整個頁面。當我使用下面的代碼時,我在圖表的上下方得到了很多空白區域。我怎樣才能將這個空白空間縮小到1釐米並增加圖表高度?感謝您的幫助。R:繪圖:在一張A4 pdf頁面上正確地擬合多個繪圖

group <- "Title" 
layout(matrix(c(1:12), 6, 2)) 
par(mar = c(0, 4.1, 1.5, 2.1),oma = c(2, 0, 2, 0)) 
plot(1:10) 
plot(1:10) 
plot(1:10) 
plot(1:10) 
plot(1:10) 
plot(1:10) 
plot(1:10) 
plot(1:10) 
plot(1:10) 
plot(1:10) 
plot(1:10) 
plot(1:10) 

mtext(group, outer = TRUE, cex = 1.5) 
mtext("text", outer = TRUE,side =1) 
dev.print(pdf, file="charts12.pdf" ,onefile=T,paper='A4')  

回答

2

dev.print「複製當前設備的圖形內容,以一個新的裝置」(從?dev.pront),這意味着輸出圖形的比例取決於如何在源設備已被縮放。調整繪圖窗口大小會影響您獲得的空白量。

如果您另外指定widthheight您可以將圖表擬合爲A4,使得結果獨立於圖表窗口。

dev.print(pdf, file="charts12.pdf" ,onefile=T,paper='A4', width = 21/2.54, height = 29.7/2.54) 

我分widthheight 2.54到釐米換算成英寸。

使用pdf()dev.off()作爲答案通過@ amwill04也適用,但有你沒有的缺點看到情節之前被寫入文件。雖然這與產品代碼無關,但它可能會使編寫產生圖形的代碼更容易,因爲代碼會生成圖表的預覽。

+0

謝謝你指出。只有用過我的方法才能聽到它的簡單指定'height'和'width' – amwill04

2

dev.print更改爲簡單pdf允許你指定width和設備的height。使用的單位是英寸,所以A4是8.27「X 11.69」。我在下面添加了一個例子。這個例子中,我必須調整圖表的上邊距。

data("mtcars") 
pdf("test.pdf", width = 8.27, height = 11.69) 
group <- "Title" 
layout(matrix(c(1:12), 6, 2)) 
par(mar = c(0, 4.1,2.5, 2.1),oma = c(2, 0, 2, 0)) 
plot(mtcars$mpg ~ mtcars$hp) 
plot(mtcars$mpg ~ mtcars$hp) 
plot(mtcars$mpg ~ mtcars$hp) 
plot(mtcars$mpg ~ mtcars$hp) 
plot(mtcars$mpg ~ mtcars$hp) 
plot(mtcars$mpg ~ mtcars$hp) 
plot(mtcars$mpg ~ mtcars$hp) 
plot(mtcars$mpg ~ mtcars$hp) 
plot(mtcars$mpg ~ mtcars$hp) 
plot(mtcars$mpg ~ mtcars$hp) 
plot(mtcars$mpg ~ mtcars$hp) 
plot(mtcars$mpg ~ mtcars$hp) 
mtext(group, outer = TRUE, cex = 1.5) 
mtext("text", outer = TRUE,side =1) 
dev.off() 
相關問題