Patchwork包使用教程,R语言快速组合拼接图片

R语言如何拼接多幅图片?

今天分享的笔记带你领略R语言Patchwork包独特的魅力,patchwork是一个非常流行的用于拼接 ggplot2 图形的包,以一种简单的方式对图形进行排列和组合,不论多复杂的组合图形,都能确保图形之间正确对齐,它提供一种类似四则运算的方法来拼接图形,非常易于使用。

学会儿这个技巧后,就可以减轻Ai中拼图的烦恼了,直接在R语言中生成组合图。

核心:拼图符号

  • +:左右拼图,就是左右布局
  • |:左右拼图,也是左右布局
  • /:上下拼图,垂直构图布局

使用方法其实挺简单的,支持用括号来定义优先级,然后用上述符号即可将多张图拼接到一起。下面做个演示,生成四张图片,并保存到不同变量:

library(ggplot2)
library(patchwork)

#绘制第一个图
p1 <- ggplot(mpg,aes(displ,hwy,color = drv)) +
  geom_point() +
  ggtitle('Plot 1')
p1

#绘制第二个图
p2 <- ggplot(mpg, aes(class,hwy))+
  geom_boxplot(fill = "lightblue") +
  coord_flip()+
  ggtitle('Plot 2')
p2

#绘制第三个图
p3 <- ggplot(mpg, aes(x = class, y = hwy)) +
  geom_violin(trim = FALSE, alpha = 0.5,color = "#5DE2E7")+
  ggtitle('Plot 3')
  stat_summary(fun = mean,
               fun.min = function(x) {mean(x) - sd(x)},
               fun.max = function(x) {mean(x) + sd(x)},
               geom = "pointrange",color = "red")
p3

#绘制第四个图
p4 <- ggplot(mpg, aes(class, fill = drv))+
  geom_bar(position = position_dodge(preserve = "single"))+
  ggtitle('Plot 4')
p4
将第一个图和第二个图横向拼接

p1 + p2
将四个图横向拼接

(p1 + p2) / (p3 + p4)
将第一个图和第二个图垂直拼接

p1 / p2
将四个图以三行排列

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

提示:plot_layout参数用于设置布局

设置子图标题和注释

(p2 | (p1 / p3)) +   
  plot_annotation(title = 'This is an amazing picture')
横向拼接并添加标签

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

勤学如春起之苗,不见其增日有所长,希望大家多多进步!
今天分享的拼图小技巧就到这里,如果学会了记得点赞分享,你的鼓励是作者更新最大的动力。

参考资料
https://zhuanlan.zhihu.com/p/384456335
https://www.jianshu.com/p/73057774b4cb

本文由mdnice多平台发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信分析笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值