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
将第一个图和第二个图横向拼接
alt
p1 + p2
将四个图横向拼接
alt
(p1 + p2) / (p3 + p4)
将第一个图和第二个图垂直拼接
alt
p1 / p2
将四个图以三行排列
alt
p1 + p2 + p3 + p4 + 
 plot_layout(nrow = 3, byrow = FALSE)

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

设置子图标题和注释
alt
(p2 | (p1 / p3)) +   
  plot_annotation(title = 'This is an amazing picture')
横向拼接并添加标签
alt
p2 + p3 + p4 +   
  plot_annotation(tag_levels = 'I')

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

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

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/572920.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机短信验证码自动转发到服务器

今天写一个自动化处理程序&#xff0c;需要验证码登录&#xff0c;怎么样把手机收到的短信自动转发到服务器接口呢&#xff1f; 利用ios手机快捷指令的功能 打开快捷指令点击中间自动化点击右上角号选择信息信息包含选取&#xff0c;输入验证码选择立即执行点击下一步按下图配…

机器人深度学习IMU和图像数据实现焊接精细操作

在双电极气体保护金属弧焊 &#xff08;DE-GMAW&#xff09; 中&#xff0c;对焊枪和旁路电极位置的精确控制是至关重要的。为了这一过程&#xff0c;科研团队提出了安装微型惯性测量单元&#xff08;IMU&#xff09;传感器和摄像头&#xff0c;来记录焊工控制焊枪的移动和微调…

Android 12系统源码_多窗口模式相关方法的调用顺序

前言 从 Android 7.0 开始&#xff0c;Google 推出了一个名为“多窗口模式”的新功能&#xff0c;允许在设备屏幕上同时显示多个应用&#xff0c;多窗口模式允许多个应用同时共享同一屏幕&#xff0c;多窗口模式&#xff08;Multi Window Supports&#xff09;目前支持以下三种…

Go-js,css,html压缩和混淆(可直接使用)

前提条件: 本地安装nodejs环境然后配置全局环境变量。 运行以下命令安装uglify压缩工具 npm install uglify-js -g 测试是否安装成功 uglifyjs -v 使用方式: 根据不同的操作系统取对应的压缩工具,然后将压缩工具放到项目根目录下,然后执行即可 工具文件: https://gitee.com…

喜讯!聚铭网络荣获《日志分类方法及系统》发明专利

近日&#xff0c;聚铭网络又喜获一项殊荣&#xff0c;其申报的《日志分类方法及系统》发明专利成功获得国家知识产权局的授权&#xff0c;正式荣获国家发明专利证书。 在信息化时代&#xff0c;网络安全问题日益凸显&#xff0c;日志分析作为保障网络安全的重要手段&#xff…

qt-C++笔记之QSpinBox控件

qt-C笔记之QSpinBox控件 code review! 文章目录 qt-C笔记之QSpinBox控件1.运行2.main.cpp3.main.pro4.《Qt6 C开发指南》&#xff1a;4.4 QSpinBox 和QDoubleSpinBox 1.运行 2.main.cpp #include <QApplication> #include <QSpinBox> #include <QPushButton&g…

CUDA安装 Windows版

目录 一、说明 二、安装工具下载 三、CUDA安装 四、cuDNN配置 五、验证安装是否成功 一、说明 windows10 版本安装 CUDA &#xff0c;首先需要下载两个安装包 CUDA toolkitcuDNN 官方教程 CUDA&#xff1a;https://docs.nvidia.com/cuda/cuda-installation-guide-micro…

栈——数据结构

本博客将讲述栈的相关知识 1.栈 1.1栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操 作的一端 称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In Fi…

AI大模型学习——AI领域技术发展

目录 前言 一、AI大模型学习的理论基础 二、AI大模型的训练与优化 三、AI大模型在特定领域的应用 四、AI大模型学习的伦理与社会影响 五、未来发展趋势与挑战 总结 前言 在当前技术环境下&#xff0c;AI大模型学习不仅要求研究者具备深厚的数学基础和编程能力&#xff…

Machine Learning机器学习之K近邻算法(K-Nearest Neighbors,KNN)

目录 前言 背景介绍&#xff1a; 思想&#xff1a; 原理&#xff1a; KNN算法关键问题 一、构建KNN算法 总结&#xff1a; 博主介绍&#xff1a;✌专注于前后端、机器学习、人工智能应用领域开发的优质创作者、秉着互联网精神开源贡献精神&#xff0c;答疑解惑、坚持优质作品共…

PPT没保存怎么恢复?3个方法(更新版)!

“我刚做完一个PPT&#xff0c;正准备保存的时候电脑没电自动关机了&#xff0c;打开电脑后才发现我的PPT没保存。这可怎么办&#xff1f;还有机会恢复吗&#xff1f;” 在日常办公和学习中&#xff0c;PowerPoint是制作演示文稿的重要工具。我们会在各种场景下使用它。但有时候…

备考ICA----Istio实验9---熔断Circuit Breaking 实验

备考ICA----Istio实验9—熔断Circuit Breaking 实验 1. 环境准备 创建httpbin环境 kubectl apply -f istio/samples/httpbin/httpbin.yaml kubectl get svc httpbin2. 创建测试用客户端 kubectl apply -f istio/samples/httpbin/sample-client/fortio-deploy.yaml3. 创建Ht…