Я хочу иметь два графика facet_grid рядом, один с 3 строками, а другой с 2, используя ggplot2
в R. По умолчанию grid.arrange
пытается поддерживать равную высоту двух facet_grids
, однако я хочу иметь одинаковую высоту панели для обоих графиков. В частности Я хочу настроить высоту панели графика с наименьшим количеством строк, чтобы она была равна высоте панели графика с максимальным количеством строк. Я не думаю, что это должно быть очень сложно. Я упускаю какую-то общую идею здесь? Поскольку я новичок в R, буду признателен за любую помощь. Спасибо!
Воспроизводимый пример здесь:
library(tidyverse)
library(gridExtra)
mtcars
p1 <- ggplot(mtcars,aes(x =mpg,y = disp,fill=cyl))+
geom_point()+
facet_grid(rows=vars(gear),cols=vars(cyl),scales = "free")
p2 <- ggplot(mtcars,aes(x =mpg,y = disp,fill=cyl))+
geom_point()+
facet_grid(rows=vars(am),cols=vars(cyl),scales = "free")
grid.arrange(p1,p2,ncol=2)
который производит
Я хочу, чтобы p2 имел высоту панели от p1 и использовал нижнее пустое пространство от p2 (справа) для легенды, оставшееся пространство было пустым. И да, я должен поддерживать масштаб, чтобы быть свободным.