如何给tableGrob绘图添加标题?

10

我有一个表格,我想在它的上方打印一个标题:

t1 <- tableGrob(top_10_events_by_casualties, cols=c("EVTYPE", "casualties"), rows=seq(1,10))
grid.draw(t1)

这里曾经有一个相似的问题:在grid.table图中添加文本

我尝试了类似的方法,但未能成功:

> title <- textGrob("Title",gp=gpar(fontsize=50))
> table <- gtable_add_rows(t1, 
+                          heights = grobHeight(title) + padding,
+                          pos = 0)
Error: is.gtable(x) is not TRUE
2个回答

16

不确定问题出在哪里,但这是一个可行的例子:

在此输入图片描述

library(grid)
library(gridExtra)
library(gtable)

t1 <- tableGrob(head(iris))
title <- textGrob("Title",gp=gpar(fontsize=50))
padding <- unit(5,"mm")

table <- gtable_add_rows(
     t1, 
     heights = grobHeight(title) + padding,
     pos = 0)
table <- gtable_add_grob(
    table, 
    title, 
    1, 1, 1, ncol(table))

grid.newpage()
grid.draw(table)

太好了!我认为你只需要指定“标题”一次。 - Fabio Marroni
这是一个不错的解决方案,但如果标题比表格更宽,则会失败。 - mrbrich
在这种情况下,@mrbrich使用clip = 'off' - baptiste

4
另一种选择是:
library(gridExtra)
grid.arrange(top="Iris dataset", tableGrob(head(iris)))

你可能仍然想对填充进行一些微调。 enter image description here

我喜欢这个解决方案,但如何最好地调整填充? - u17

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接