如何降低gridExtra的grid.arrange中的主标题?

Nov*_*rog 3 r margin title gridextra

我使用gridExtra的grid.arrange创建了一个图表,并尝试在将整个图表保存到.png文件之前添加一个主标题.

使用main="TITLE"参数可以工作,但它会使用顶部边框刷新,无论我设置图表的高度如何.

我的问题:如何设置它以使主标题不会被顶部边框刷新?一种方法是为整个图表添加一个总体余量,但同样,我无法弄清楚如何.

作为一个例子,我从网格排列中修改了SandyMuspratt和Baptiste的代码,将表格和图形放在一个图像上:

library(ggplot2)
library(gridExtra)

x = read.table(text = "
               1/1/2010 10
               1/2/2010 20
               1/3/2010 15
               1/4/2010 56
               1/5/2010 46
               1/6/2010 15
               1/8/2010 15
               1/9/2010 15
               1/10/2010 20
               1/11/2010 15
               1/12/2010 15
               1/13/2010 40
               1/14/2010 15
               1/15/2010 15
               1/16/2010 70", sep = "", header = FALSE)

p1<-ggplot(x, aes(V2, V1)) + geom_point()
p2<-tableGrob(x)

png( filename = "TEST.png", width = 1700, height = 900, units = "px")
grid.arrange(p2, p1, main=textGrob("Total Data and Image", gp=gpar(cex=3)), 
             ncol = 2,widths=unit.c(grobWidth(p2), unit(1,"npc") - grobWidth(p2)))
dev.off()
Run Code Online (Sandbox Code Playgroud)

PNG输出显示带边框的标题: PNG输出

我怀疑解决方案可能相当简单,但我似乎无法在线找到解决方案.我读过?grid.arrange,将文本添加到grid.table情节和其他帖子,但没有提到这个.

任何帮助将不胜感激,并提前感谢!

ton*_*nov 11

?textGrob 给出一个提示:

main=textGrob("Total Data and Image", gp=gpar(cex=3), just="top")
Run Code Online (Sandbox Code Playgroud)

编辑(16/07/2015):使用gridExtra> = 2.0.0,main参数已重命名top.详情?arrangeGrob请见.

  • 谢谢,@tonytonov!所以我一直在寻找错误的答案!如果我可以稍微修改你的答案,使用`vjust = 0.7`而不是'just ="top"`会把标题放在垂直空间的中间. (2认同)