使用 Cowplot 对齐保持绘图间距完整

JP *_*net 5 r ggplot2 cowplot

我正在尝试使用 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')
Run Code Online (Sandbox Code Playgroud)

正确的间距

请注意,mpg 的垂直刻度与其他刻度不同。为了使绘图也具有相同的垂直尺寸,我想在plot_grid 中使用“align='hv'”。然而,这会导致边距设置的间距恢复,并且图形再次分开。有什么办法可以保持间距吗? 间距不正确

Lyn*_*akr 1

cowplot,但这似乎有效。

library(egg)
library(grid)
grid.draw(ggarrange(plots=list(disp_plot, mpg_plot, qsec_plot)))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述