3

我使用 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()

显示标题与边框刷新的 PNG 输出: PNG输出

我怀疑解决方案可能相当简单,但我似乎无法在网上找到解决方案。我已阅读 ?grid.arrange、Adding text to a grid.table plot和其他帖子,但没有人提到这一点。

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

4

1 回答 1

11

?textGrob给出提示:

main=textGrob("Total Data and Image", gp=gpar(cex=3), just="top")

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

于 2014-01-16T11:44:25.103 回答