【问题标题】:Add margins with grid R package使用 grid R 包添加边距
【发布时间】:2014-10-23 05:25:55
【问题描述】:

我不知道如何使用 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= 函数,我可以让它远离顶部,但这对我来说不是一个解决方案,因为我必须放置图表并且它们也靠近边缘。

【问题讨论】:

    标签: r margins r-grid


    【解决方案1】:

    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)
    

    【讨论】:

      【解决方案2】:

      当我在 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 毫米的边距。

      【讨论】:

      • 这不是一个真正的答案,而且,白色矩形似乎毫无意义,我只是为了说明。
      猜你喜欢
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-07
      • 2018-01-07
      • 1970-01-01
      • 1970-01-01
      • 2013-10-25
      相关资源
      最近更新 更多