2012-12-05 4 views
3

Я объединяю графы ggplot, используя gridExtra package grid.arrange.удалите границы из grid.arrange

я это делаю:

p1<-ggplot(x, aes(Date, Value)) + geom_line() 
p2<-ggplot(y, aes(Date, Score)) + geom_point() 
grid.arrange(p1, p2, main=textGrob("Head Line", gp=gpar(cex=1.5, fontface="bold", col="#990000")), ncol = 1, clip=TRUE) 

эта команда ставит границу между p1 и p2. Я не мог найти информацию об удалении границ в grid.arrange. Можно ли удалить границы?

ответ

8

gridExtra не устанавливает дополнительную границу между участками. Все, что вы видите, это границы, которые уже окружают каждый сюжет. То есть, есть граница внизу p1 и граница в верхней части p2. Поместите два вместе, и может показаться, что между ними есть дополнительное пространство.

Чтобы удалить или отрегулировать границы каждого участка, используйте элемент plot.margin в функции theme. Следующее удаляет нижний край p1 и верхний край p2.

library(ggplot2) 
library(gridExtra) 

p1<-ggplot(data.frame(x = 1:10, y = 1:10), aes(x, y)) + geom_line() + 
     theme(plot.margin = unit(c(1,1,0,1), "lines")) 

p2<-ggplot(data.frame(x = 1:10, y = 1:10), aes(x, y)) + geom_point() + 
    theme(plot.margin = unit(c(0,1,1,1), "lines")) 

grid.arrange(p1, p2, top=textGrob("Head Line", 
    gp=gpar(cex=1.5, fontface="bold", col="#990000")), ncol = 1, clip=TRUE) 

enter image description here

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

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