2014-08-29 37 views
7

我不知道如何爲網格R包打印PDF頁邊距。使用網格R包添加頁邊距

我創建了一個grid.arrange()對象,我把它放在一個PDF這樣的:

pdf('test.pdf',11.69,8.27) 
grid.arrange(textGrob('text1', gp=gpar(cex=4)), 
      ncol=1, main=textGrob('title', gp=gpar(cex=1.5)), 
      widths = c(1), heights = c(1)) 
dev.off() 

但標題是推在紙張的上邊緣。我想補充利潤。如果爲標題添加textGrob而不是main=函數,我可以將它從頂端保留,但對我來說這不是一個解決方案,因爲我必須放置圖表並且它們也接近邊緣。

回答

3

arrangeGrob有視說法,

vp = viewport(height=unit(0.8, "npc"), 
          width=unit(5, "cm")) 

g = arrangeGrob(textGrob('text1', gp=gpar(cex=4)), 
       top = textGrob('title', gp=gpar(cex=1.5)), 
       vp=vp) 
grid.newpage() 
grid.rect(vp=vp) 
grid.draw(g) 

enter image description here

+0

完美,非常感謝! – Ben 2014-08-29 15:43:33

0

正如我繪製它的PDF(11.69,8.27),我改變了這一點:

vp = viewport(height=unit(8.17, "inches"), width=unit(11.59, "inches")) 
g$vp = vp 
grid.newpage() 
grid.rect(vp=vp,gp=gpar(col="white")) 
grid.draw(g) 

與此類似,矩形的邊緣不可見,我有大約1毫米的邊距。

+0

這不是一個真正的答案,而且,白色的矩形似乎毫無意義,我只是爲了說明。 – baptiste 2014-08-29 15:57:49