Сохранить пропорции графиков с помощью grid.arrange

Я пытаюсь организовать несколько участков, используяgrid.arrange, Делает работу по книге, а при звонке:

p1 <- ggplot(subset(mtcars, cyl = 4), aes(wt, mpg, colour = cyl)) + geom_point() 
p2 <- ggplot(subset(mtcars, cyl = 8), aes(wt, mpg, colour = cyl)) + geom_point()

grid.arrange(p1, p2, ncol = 2)

Я получаю два симпатичных участка, симметричных по размеру:

Мои графики относятся к разным параметрам, но они имеют одинаковую цветовую кодировку для групп. Поэтому я хотел бы удалить легенду из всех, кроме одного, и найти для нее подходящее место.

Однако, когда я пытаюсь:

p3 <- ggplot(subset(mtcars, cyl = 8), aes(wt, mpg, colour = cyl)) + geom_point() + guides(colour=FALSE)

grid.arrange(p3, p2, ncol = 2)

Сюжет без легенды становится (правильно) больше:

Я хотел бы сохранить размер (как длина оси X), чтобы остаться неизменным на графиках.

Я знаю, что мог бы использовать здесь фасетирование, но мне также нужно будет комбинировать различные графики, которые (я думаю) будет сложно реализовать с использованием фасетов.

Можно ли сделать это сgrid.arrange? Любые другие решения, которые могут помочь здесь?

Ответы на вопрос(2)

Ваш ответ на вопрос