如题,由ggplot画的四张图合并而成。这三张图都用相同的图例,前三张图没有画图例,第四张图有了图例,所以第四张主图要比前面三张小一点。我想把第四张图画成和前面三张一样大,把图例放在总图的边框外面,如何做?
ps 发布话题能否上图?
谢谢!!

    dupont 更改标题为「ggplot多图单图例设置

    dupont

    另外如果是ggplot的多图组合的话,推荐patchwork

    你的要求就是4个图共享一个图例对吧:

    library(patchwork)
    library(ggplot2)
    
    library(ggplot2)
    p1 <- ggplot(mtcars) + 
      geom_point(aes(mpg, disp)) + 
      ggtitle('Plot 1')
    
    p2 <- ggplot(mtcars) + 
      geom_boxplot(aes(gear, disp, group = gear)) + 
      ggtitle('Plot 2')
    
    p3 <- ggplot(mtcars) + 
      geom_point(aes(hp, wt, colour = mpg)) + 
      ggtitle('Plot 3')
    
    p4 <- ggplot(mtcars) + 
      geom_bar(aes(gear)) + 
      facet_wrap(~cyl) + 
      ggtitle('Plot 4')
    
    p1 + p2 + p3 + p4 +
      plot_layout(guides = 'collect')

    <sup>Created on 2020-05-05 by the reprex package (v0.3.0.9000)</sup>