Я хочу иметь два графика facet_grid рядом, один с 3 строками, а другой с 2, используя ggplot2
в R. По умолчанию grid.arrange
пытается поддерживать одинаковую высоту двух facet_grids
, однако я хочу иметь одинаковую высоту панели для обоих графиков. В частности, я хочу настроить высоту панели графика с минимальным количеством строк, чтобы она была равна высоте панели графика с максимальным количеством строк. Я не думаю, что это должно быть достаточно сложно. Я упускаю здесь какую-то общую идею? Поскольку я новичок ie в 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)
, который дает
фасетный график 3x3 того же размера, что и фасетный график 2x3
Я хочу, чтобы p2 имел высоту панели, начиная с p1, и использовал нижнее пустое пространство из p2 (справа) для легенды, оставшееся пространство пустым. И да, я должен поддерживать масштаб, чтобы быть свободным.