如何降低gridExtra的grid.arrange中的主标题?
Posted
技术标签:
【中文标题】如何降低gridExtra的grid.arrange中的主标题?【英文标题】:How to lower main title in gridExtra's grid.arrange? 【发布时间】:2014-02-05 03:46:18 【问题描述】:我使用 gridExtra 的 grid.arrange 创建了一个图表,并尝试在将其保存到 .png 文件之前为整个绘图添加一个主标题。
使用main="TITLE"
参数有效,但无论我设置图表的高度如何,它都会与顶部边框齐平。
我的问题:如何设置它以使主标题不与顶部边框齐平?一种方法是为整个图表添加整体边距,但同样,我可以不知道怎么做。
例如,我从grid arrange to place table and graph on one image修改了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 输出:
我怀疑解决方案可能相当简单,但我似乎无法在线找到解决方案。我看过 ?grid.arrange、Adding text to a grid.table plot 和其他帖子,但没有人提到这一点。
任何帮助将不胜感激,并提前致谢!
【问题讨论】:
【参考方案1】:?textGrob
给出提示:
main=textGrob("Total Data and Image", gp=gpar(cex=3), just="top")
编辑 (16/07/2015):gridExtra
>= 2.0.0,main
参数已重命名为 top
。详情请见?arrangeGrob
。
【讨论】:
谢谢,@tonytonov!所以我一直在寻找答案的错误地方!如果我可以稍微修改一下您的答案,使用vjust=0.7
而不是just="top"
会将标题放在垂直空间的中间。
如何在文档的外边距增加标题顶部的空间?我尝试了 pat() 失败。以上是关于如何降低gridExtra的grid.arrange中的主标题?的主要内容,如果未能解决你的问题,请参考以下文章
R语言ggplot2可视化使用ggplot2::ggsave函数和gridextra::marrangegrob函数将多个可视化结果保存在pdf文件中