使用网格R包添加边距

时间:2014-08-29 08:13:55

标签: r margins r-grid

我不知道如何使用网格R包指定PDF打印的边距。

我创建了一个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=函数,我可以将它远离顶部,但它不是我的解决方案,因为我必须放置图形并且它们接近边缘太

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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毫米。