2016-01-29 3 views
0

У меня есть три участка, и я хотел бы их уложить, сжать дно 2 и убедиться, что они выровнены по вертикали. Я могу сделать то или другое, но не то и другое. Как вы можете видеть на графике 1, графики выровнены по вертикали, но мне нужно сжать нижние два; и на графике 2 нижние два были сжаты, но не выровнены по вертикали.Термоусадочные и выравнивающие участки с сеткой.arrange

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

Вот пример:

ggplot:

library(gridExtra) 
library(ggplot2) 
library(cowplot) 
a <- ggplot(data = diamonds, mapping = aes(y = carat, x = price)) + geom_line() 
b <- ggplot(data = diamonds, mapping = aes(x = clarity)) + geom_bar() 
c <- ggplot(data = diamonds, mapping = aes(x = color)) + geom_bar() 

Участок 1:

plot_grid(a, b, c, labels=c("", "", ""), ncol = 1, nrow = 3, align = "v") 

enter image description here

Участок 2:

grid.arrange(a,b,c, ncol = 1, nrow = 3, widths = c(1), heights = c(1,.3,.3)) 

enter image description here

+1

Маркировка в качестве возможного дубликата. См. [Пример # 1] (http://stackoverflow.com/q/13294952/2572423), [пример # 2] (http://stackoverflow.com/q/13656642/2572423) и [пример # 3] (http://stackoverflow.com/q/15016995/2572423). – JasonAizkalns

+0

Пожалуйста, включите все заявления 'library' при отправке вопроса. –

ответ

3

Попробуйте rel_heights аргумент:

plot_grid(a, b, c, ncol = 1, align = "v", rel_heights = c(3, 1, 1)) 
+0

Это был аргумент, который я искал. Благодаря! – Vedda

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