代码之家  ›  专栏  ›  技术社区  ›  JP Janet

使用Cowplot align保持绘图间距不变

  •  5
  • JP Janet  · 技术社区  · 7 年前

    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')
    

    correct spacing

    请注意,mpg与其他垂直比例不同。为了使绘图具有相同的垂直大小,我想在plot\u网格中使用“align='hv'”。但是,这会导致由边距设置的间距恢复,并且图形会再次分开。有没有办法保持间距? incorrect spacing

    1 回复  |  直到 7 年前
        1
  •  1
  •   Dan    7 年前

    cowplot ,但这似乎有效。

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

    enter image description here