美文网首页
patchwork:ggplot拼图

patchwork:ggplot拼图

作者: M78_a | 来源:发表于2023-01-12 16:08 被阅读0次

    下面实例搬运自patchwork官网:
    https://patchwork.data-imaginist.com/articles/patchwork.html

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

    上面使用内置数据,独立画出来4张图。下面看,怎么去拼接。
    基本用法

    p1 + p2
    
    image.png

    +带来的结果是左右拼接

    当将plot添加在一起时,最后添加的plot将是活动的plot,并且将接收任何新的ggplot2对象的添加,例如gem, labels等:

    p1 + p2 + labs(subtitle = 'This will appear in the last plot')
    
    image.png

    布局
    默认情况下,patchwork将尝试保持网格正方形,并按行顺序填充。

    p1 + p2 + p3 + p4
    
    image.png

    可以使用plot_layout()进行调整

    p1 + p2 + p3 + p4 + plot_layout(nrow = 3, byrow = FALSE)
    
    image.png

    组合使用| /

    p1 / p2
    
    image.png
    p1 | (p2 / p3)
    

    添加注释

    (p1 | (p2 / p3)) + 
      plot_annotation(title = 'The surprising story about mtcars')
    
    image.png

    可以给每个图添加小标题

    p1 + p2 + p3 + 
      plot_annotation(tag_levels = 'I')
    

    相关文章

      网友评论

          本文标题:patchwork:ggplot拼图

          本文链接:https://www.haomeiwen.com/subject/yzlwcdtx.html