热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

R语言ggplot2实现将多个照片拼接到一起

本文主要介绍了R语言ggplot2实现将多个照片拼接到一起,文中通过示例代码介绍的非常详细,需要的朋友们下面随着

R语言ggplot2实现将多个照片拼接到一起

将多个照片拼接到一起,然而电脑上没有安装ps 和 ai (拼图我暂时只想到这两个软件了)

直接使用R语言吧

思路是读取图片

使用ggplot2 显示

最后使用patchwork 拼接

代码

library(ggplot2)
library(jpeg)
library(ggpubr)

library(patchwork)

img0<-readJPEG("308/0.JPG")
p0<-ggplot()+
  background_image(img0)+
  theme_void()

img1<-readJPEG("308/1.JPG")  
p1<-ggplot()+
  background_image(img1)+
  theme_void()

img2<-readJPEG("308/2.JPG")
p2<-ggplot()+
  background_image(img2)+
  theme_void()

img3<-readJPEG("308/3.JPG")
p3<-ggplot()+
  background_image(img3)+
  theme_void()

img4<-readJPEG("308/4.JPG")
p4<-ggplot()+
  background_image(img4)+
  theme_void()

p1234<-p1+p2+p3+p4+plot_layout(ncol = 4)


img5<-readJPEG("308/5.JPG")  
p5<-ggplot()+
  background_image(img5)+
  theme_void()

img6<-readJPEG("308/6.JPG")
p6<-ggplot()+
  background_image(img6)+
  theme_void()

img7<-readJPEG("308/7.JPG")
p7<-ggplot()+
  background_image(img7)+
  theme_void()

img8<-readJPEG("308/8.JPG")
p8<-ggplot()+
  background_image(img8)+
  theme_void()

p5678<-p5+p6+p7+p8+plot_layout(ncol=4)

p_final<-p0+p1234+p5678+plot_layout(ncol=1,nrow=3,
                                    heights  = c(3,1,1))

ggsave(filename="p-2.jpeg",
       p_final,
       width=12,
       heigh=15,
       dpi = 1000)

到此这篇关于R语言ggplot2实现将多个照片拼接到一起的文章就介绍到这了,更多相关R语言ggplot2多照片拼接内容请搜索编程笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程笔记!


推荐阅读
  • CSS Border 属性:solid 边框的使用详解
    本文详细介绍了如何在CSS中使用solid边框属性,包括其基本语法、应用场景及高级技巧,适合初学者和进阶用户参考。 ... [详细]
  • 深入探讨前端代码优化策略
    本文深入讨论了前端开发中代码优化的关键技术,包括JavaScript、HTML和CSS的优化方法,旨在提升网页加载速度和用户体验。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
  • 本文介绍了在 iOS 开发中设置图片和视图圆角的几种方法,包括通过 layer 设置圆角、使用贝塞尔曲线和 Core Graphics 框架,以及使用 CAShapeLayer 和 UIBezierPath。每种方法都有其优缺点,适用于不同的场景。 ... [详细]
  • 深入解析Java并发之ArrayBlockingQueue
    本文详细探讨了ArrayBlockingQueue,这是一种基于数组实现的阻塞队列。ArrayBlockingQueue在初始化时需要指定容量,因此它是一个有界的阻塞队列。文章不仅介绍了其基本概念和数据结构,还深入分析了其源码实现,包括各种入队、出队、获取元素和删除元素的方法。 ... [详细]
  • Java中List的forEach方法与字符串拼接的兼容性问题
    本文深入探讨了在Java中使用List的forEach方法时遇到的字符串拼接问题,提供了有效的解决方案及背后的原理分析,旨在帮助开发者更好地理解和解决此类问题。 ... [详细]
  • 本文详细探讨了 Android Service 组件中 onStartCommand 方法的四种不同返回值及其应用场景。Service 可以在后台执行长时间的操作,无需提供用户界面,支持通过启动和绑定两种方式创建。 ... [详细]
  • Android 开发技巧:使用 AsyncTask 实现后台任务与 UI 交互
    本文详细介绍了如何在 Android 应用中利用 AsyncTask 来执行后台任务,并及时将任务进展反馈给用户界面,提高用户体验。 ... [详细]
  • 在Android中实现黑客帝国风格的数字雨效果
    本文将详细介绍如何在Android平台上利用自定义View实现类似《黑客帝国》中的数字雨效果。通过实例代码,我们将探讨如何设置文字颜色、大小,以及如何控制数字下落的速度和间隔。 ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • Android 中的布局方式之线性布局
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 选择PS3的硬盘容量时,应考虑个人需求和预算。虽然PS3的内存固定为512MB,但硬盘容量可以选择。如果你经常下载游戏或存储大量媒体文件,建议选择较大容量的硬盘。一般情况下,320GB或500GB的硬盘已经足够满足大部分用户的需求。 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
author-avatar
sdfqw4543gf
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有