2016-03-23 5 views
7

Я пытаюсь добавить сноску в график grid.arrange. Я представил свою идею в этом воспроизводимый пример: )Странное пространство на grid.arrange plot

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

summary(anscombe) 

p1 <- ggplot(anscombe) + geom_point(aes(x1, y1), color = "darkorange", size = 3) + theme_bw() 

p2 <- ggplot(anscombe) + geom_point(aes(x2, y2), color = "darkorange", size = 3) + theme_bw() 

p3 <- ggplot(anscombe) + geom_point(aes(x3, y3), color = "darkorange", size = 3) + theme_bw() 

p4 <- ggplot(anscombe) + geom_point(aes(x4, y4), color = "darkorange", size = 3) + theme_bw() 

title <- textGrob("Some title", 
       gp=gpar(fontsize=20,fontface=2)) 

source1<- textGrob("Source: https://rpubs.com/neilfws/91339", 
       hjust=0,x=0,y=1, 
       gp=gpar(fontsize=10,fontface=3)) 

grid.arrange(arrangeGrob(p1,p2,p3,p4, ncol=2, sub = source1), top = title) 

Этот код генерирует эту картину:

enter image description here

с огромным пространством ниже графиков. Как избавиться от этого? Почему он создан?

ответ

4

Попробуйте использовать bottom вместо sub:

grid.arrange(arrangeGrob(p1,p2,p3,p4, ncol=2, bottom = source1), top = title) 

enter image description here

+1

Ницца. Упрощение бит, 'grid.arrange (p1, p2, p3, p4, ncol = 2, bottom = source1, top = title)' также работает. –

+1

Да, причина для белого пространства заключалась в том, что он считал субтитры как еще один гун, чтобы устроить, тем самым создав макет 3x2 (с равными высотами по умолчанию). Это проблема с функциями, которые имеют «...» в качестве первого аргумента, они молча игнорируют имена, которые не соответствуют следующим аргументам. – baptiste

+0

Большое спасибо за ответы, это сработало. –

0

Один простой способ использовать этот код:

grid.arrange(arrangeGrob(p1,p2,p3,p4, ncol=2, sub = source1), top = title, heights = c(50,-15)) 

и изменить высоту, пока не имеет заслуженный интервал. Я достиг этого только настройки этого параметра с показавших значений:

enter image description here

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