2015-07-26 11 views
6

Mam tabeli i chcę, aby wydrukować tytuł nad nim:Jak mogę dodać tytuł do tabeli?

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

Podobny pytano tutaj: Adding text to a grid.table plot

próbowałam coś podobnego i to nie działa:

> 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 

Odpowiedz

8

Nie wiesz, na czym polega problem, ale tutaj jest przykład roboczych:

enter image description here

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) 
+0

Świetnie! Myślę, że możesz określić "tytuł" tylko raz. –

+0

To jest dobre rozwiązanie, ale nie powiedzie się, jeśli tytuł jest szerszy niż tabela. – mrbrich

+0

@ mbrbrich użyj 'clip = 'off'' w tym przypadku – baptiste

1

Inną opcją jest:

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

nadal chcieć zrobić kilka szczypanie z wyściółką.

enter image description here

Powiązane problemy