2014-01-16 5 views
3

Я создал диаграмму с помощью grid.arrange gridExtra и попытался добавить главный заголовок для всего графика, прежде чем сохранять его в .png-файле.Как снизить основной заголовок в gridExtra grid.arrange?

Использование аргумента main="TITLE" работает, но оно очищено верхней границей, независимо от высоты, которую я установил диаграмму.

Мой вопрос: как установить его таким образом, чтобы основное название не было покрашено верхней границей? Одним из способов было бы добавить общую маржу ко всей диаграмме, но опять же, я не мог понять, как это сделать.

В качестве примера, я изменил SandyMuspratt и Батист в код из grid arrange to place table and graph on one image:

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 Output

Я подозреваю, что решение может быть достаточно простой, но я не может найти решение в Интернете. Я прочитал: grid.arrange, Adding text to a grid.table plot и другие сообщения, но никто не упоминал об этом.

Любая помощь будет оценена и благодарна заранее!

ответ

11

?textGrob дает подсказку:

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

Редактировать (16/07/2015): с gridExtra> = 2.0.0, параметр main был переименован top. См. ?arrangeGrob.

+2

Спасибо, @tonytonov! Поэтому я все-таки искал неправильное место для ответа! Если я могу немного изменить ваш ответ, использование 'vjust = 0,7' вместо' just = "top" 'помещало бы заголовок правой части в середину вертикального пространства. – NoviceProg

Смежные вопросы