美文网首页
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