Сохранение интервалов между участками с помощью функции Cowplot align

Я пытаюсь создать несколько плотно сложенных графиков с помощью Cowplot. Я могу получить желаемый эффект с помощью следующего MWE:

library(ggplot2)
library(cowplot)

disp_plot <- ggplot(data=mtcars,aes(x= hp,y=disp)) + geom_point()+ 
             theme(plot.margin = unit(c(0.3,0.3,0.0,0.15), "cm"),
             axis.text.x =element_blank(),axis.title.x =element_blank())
mpg_plot <- ggplot(data=mtcars,aes(x= hp,y=mpg)) + geom_point()+
            theme(plot.margin = unit(c(0.0,0.3,0.0,0.15), "cm"),
            axis.text.x =element_blank(),axis.title.x =element_blank())
qsec_plot <- ggplot(data=mtcars,aes(x= hp,y=qsec)) + geom_point()+
             theme(plot.margin = unit(c(0.0,0.3,0.3,0.15), "cm"))
mp <- plot_grid(disp_plot, mpg_plot, qsec_plot,ncol = 1,align='v', axis = 'l')

правильный интервал

Обратите внимание, что миль на галлон отличается по вертикальной шкале от других. Чтобы графики имели одинаковый вертикальный размер, я бы хотел использовать "align = 'hv'" в plot_grid. Однако это приводит к тому, что интервал, установленный полями, меняется, и фигуры снова разлетаются. Есть ли способ сохранить интервал? неправильный интервал


person JP Janet    schedule 22.09.2017    source источник


Ответы (1)


Не cowplot, но похоже, что это работает.

library(egg)
library(grid)
grid.draw(ggarrange(plots=list(disp_plot, mpg_plot, qsec_plot)))

введите здесь описание изображения

person Lyngbakr    schedule 22.09.2017