How can I add a title to a tableGrob plot?

强颜欢笑 提交于 2019-11-30 04:25:34

问题


I have a table, and I want to print a title above it:

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

A similar question was asked here: Adding text to a grid.table plot

I've tried something similar and it doesn't work:

> 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

回答1:


Not sure what the problem was, but here is a working example:

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)



回答2:


Another option is:

library(gridExtra)
grid.arrange(top="Iris dataset", tableGrob(head(iris)))

You still might want to do some tweaking with the padding.



来源:https://stackoverflow.com/questions/31640916/how-can-i-add-a-title-to-a-tablegrob-plot

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!