【R语言】对一个Plot绘制多个图,并且每个图单元也包含多个图

news2024/12/28 19:36:14

以一个Plot绘制五行六列共30个图,然后每30个图单元包含两个图为例:

如下图所示:

代码如下:

for (i in 1:(5*6)) {
  create_subplots <- function() {

    library(ggplot2)
    library(dplyr)
    library(tidyr)
    
    # 创建一个随机的数据框
    simulated_data <- data.frame(
      V1 = rnorm(100, mean = 0, sd = sqrt(0.5)),  # 生成均值为 mean,标准差为 sd 的正态分布随机值
      V2 = rgamma(100, shape = 2, scale = 1), # 生成伽马分布随机值,shape 为形状参数,scale 为尺度参数
      V3 = runif(100, min = 0, max = 1), # 生成均值为 mean,标准差为 sd 的正态分布随机值
      V4 = rpois(100, lambda = 5), # 生成泊松分布随机值,lambda 为泊松分布的参数
      V5 = rexp(100, rate = 0.5), # 生成指数分布随机值,rate 为指数分布的参数
      V6 = rbinom(100, size = 10, prob = 0.1) # 生成二项分布随机值,size 为试验次数,prob 为成功的概率
    )
    
    simulated_data <- simulated_data %>%
      rename(
        Case1 = V1,
        Case2 = V2,
        Case3 = V3,
        Case4 = V4,
        Case5 = V5,
        Case6 = V6
      )
    
    simulated_data_long <- gather(simulated_data, key = "variable", value = "value")
    # 创建一个含有多个琴图的图表,每个琴图对应数据的一个列
    p1 <- ggplot(simulated_data_long, aes(x = variable, y = value)) +
      geom_violin(alpha = 0.5, size = 0.1) +# 调整透明度和线条宽度
      geom_boxplot(fill = "gray", alpha = 0.04, width = 0.02) +# 调整透明度和线条宽度
      geom_jitter(aes(color = variable), width = 0.02, alpha = 0.7, size = 0.03) +# 调整透明度和点的大小
      labs(
        x = " ",
        y = "",
        title = " "
      ) +
      scale_color_discrete(name = " ") +
      theme_minimal() +
      facet_wrap(~ variable, scales = "free")+
      theme(
        strip.text = element_blank(),
        legend.text = element_text(size = 0.12),  # 调整图例文本大小
        legend.title = element_text(size = 0.15),  # 调整图例标题大小
        legend.key.size = unit(1.5, "lines"),  # 调整图例间距大小
        axis.title.y = element_text(size = 0.18) # 调整Y轴标签的字体大小
      ) + 
      theme(legend.position = "none",    
            axis.title.x = element_blank(),  
            axis.title.y = element_blank(),  
            axis.text.x = element_blank(),   
            axis.text.y = element_blank(),   
            axis.ticks.x = element_blank(),  
            axis.ticks.y = element_blank()   )
      

    library(ggstatsplot)
    # 绘制分组箱线图
    p2 <- ggplot(iris, aes(x = Species, y = Sepal.Length)) +
      geom_boxplot() +
      theme(legend.position = "none",    
            axis.title.x = element_blank(),
            axis.title.y = element_blank(), 
            axis.text.x = element_blank(),   
            axis.text.y = element_blank(),   
            axis.ticks.x = element_blank(),  
            axis.ticks.y = element_blank()   )

    subplot <- p1 / p2 
    
    return(subplot)
  }
  
  
  
  main_plot_list[[i]] <- create_subplots()
}

main_plot <- wrap_plots(main_plot_list, ncol = 6)

print(main_plot)

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

传统后端SQL数据层替代解决方案: 内置数据源+JdbcTemplate+H2数据库 详解

内置数据源 我们回顾一下druid数据源的配置方式 通过type属性指定数据源的类型 导入依赖 starter就使用了spring的自动装配功能 格式二是在引入druid的依赖的基础上 进行的一种配置方式 Tomcat内部也可以进行数据源的配置 轻量级中最快的数据源对象 我们切换德鲁伊连接池 我…

springboot vue 开源 会员收银系统 (7) 收银台的完善 新增开卡 结算

前言 完整版演示 开发版演示 在前面的开发中&#xff0c;我们成功完成了商品分类和商品信息的搭建&#xff0c;开发了收银台基础。现在&#xff0c;我们将进一步完善收银台的功能&#xff0c;添加开卡和结算功能&#xff0c;并在后台实现会员卡的创建和订单保存。同时&#xff…

船舶行业信息安全解决方案介绍

船舶行业信息安全背景&#xff1a; 近年来随着经济复苏、疫情与国际形势影响国内外船舶海运业务蓬勃发展&#xff0c;在业务量激增的背景下出现多类信息安全事件。其中2017年&#xff0c;马士基集团遭到勒索软件攻击&#xff0c;内部业务系统和码头操作系统均受到严重影响&…

U盘数据恢复,小白也适用的4个方法!

你是否曾经遇到过这样的情况&#xff1a;当你满怀期待地插入U盘&#xff0c;准备欣赏那些珍贵的照片、视频或重要文件时&#xff0c;却发现U盘中的数据仿佛被一阵海风轻轻吹散&#xff0c;只剩下空荡荡的文件夹和一片茫然。那种失落感&#xff0c;就像是突然发现手中的藏宝图被…

(四十三)Vue Router之嵌套路由

文章目录 什么是嵌套路由嵌套路由的使用demo 上一篇&#xff1a;&#xff08;四十二&#xff09;Vue之路由及其基本使用Vue Router 什么是嵌套路由 实际生活中的应用界面&#xff0c;有可能由多层嵌套的组件组合而成。同样地&#xff0c;URL 中各段动态路径也按某种结构对应嵌…

数据可视化案例

数据可视化案例 相关的技术&#xff1a;scrapy、pandas、pyecharts。 使用豆瓣电影中的数据来进行可视化&#xff0c;网址&#xff1a;豆瓣电影 Top 250 (douban.com) 一、网页数据分析 我们需要爬取的是豆瓣电影Top250网页每一页的电影名称、图片链接、导演、年份、国家、电…

Bert模型实现中文新闻文本分类

Bert基于Transformer架构是解决自然语言处理的深度学习模型&#xff0c;常使用在文本分类、情感分析、词性标注等场合。 本文将使用Bert模型对中文文本进行分类&#xff0c;其中训练集数据18W条&#xff0c;验证集数据1W条,包含10个类别的文本数据&#xff0c;数据可以自己从Ka…

大润发超市购物卡怎么用?

收到大润发超市的礼品卡以后&#xff0c;我才发现&#xff0c;最近的大润发也得十来公里 为了100块的大润发打车也太不划算了 叫外送也不在配送范围内 最后没办法&#xff0c;在收卡云上出掉了&#xff0c;还好最近价格不错&#xff0c;也不亏&#xff0c;收卡云的到账速度也…

leetcode:557. 反转字符串中的单词 III(python3解法)

难度&#xff1a;简单 给定一个字符串 s &#xff0c;你需要反转字符串中每个单词的字符顺序&#xff0c;同时仍保留空格和单词的初始顺序。 示例 1&#xff1a; 输入&#xff1a;s "Lets take LeetCode contest" 输出&#xff1a;"steL ekat edoCteeL tsetnoc…

使用飞书多维表格实现推送邮件

一、为什么用飞书&#xff1f; 在当今竞争激烈的商业环境中&#xff0c;选择一款高效、智能的办公工具至关重要。了解飞书的朋友应该都知道&#xff0c;飞书的集成能力是很强大的&#xff0c;能够与各种主流的办公软件无缝衔接&#xff0c;实现数据交互&#xff0c;提升工作效…

恒创科技:云主机上的数据安全如何保证?(实用性技巧分享)

云主机上的数据安全如何保证?答案很简单&#xff0c;虽很多用户却不能完全做到&#xff0c;但我们可以了解一些安全措施予以防范。以下是云主机数据保护的几个实用技巧&#xff0c;希望对您有所帮助! 1.避免将敏感信息存储在云中 网络上的许多建议听起来都像这样&#xff1a;“…

业余时间做跨境电商实现经济自由,我是怎么做的?

在知乎问答上翻阅大家非常感兴趣的问题&#xff0c;解答一些疑惑的同时&#xff0c;发现大家对跨境电商还是很感兴趣的&#xff0c;类似“小白如何入局跨境电商&#xff1f;2024跨境电商平台&#xff0c;哪些值得做&#xff1f;现在电商哪个平台好做?”等的这些主观问题&#…

ubuntu访问windows共享文件夹

方法: Ubuntu访问Windows共享文件夹的方法-CSDN博客 基于交换机的PC端网络通信_服务器交换机pc端-CSDN博客 补充说明&#xff1a; 在这里面输入&#xff1a; smb://192.168.0.30/WindowsShareToLinux

虚拟机Ping不通主机

1.问题描述 虚拟机IP&#xff1a; 192.168.3.133 主机ip&#xff1a;192.168.3.137 虚拟机Ping不通主机 主机可以ping通虚拟机 2.解决方案 设置桥接模式 控制面板找到网络和Internet设置 3.问题解决

Leetcode - 周赛401

目录 一&#xff0c;3178. 找出 K 秒后拿着球的孩子 二&#xff0c;3179. K 秒后第 N 个元素的值 三&#xff0c;3180. 执行操作可获得的最大总奖励 I 四&#xff0c;3181. 执行操作可获得的最大总奖励 II 一&#xff0c;3178. 找出 K 秒后拿着球的孩子 本题可以直接模拟&a…

CesiumJS整合ThreeJS插件封装

最近做项目有一个三维需求使用CesiumJS比较难以实现&#xff0c;发现THREEJS中效果比较合适&#xff0c;于是准备将THREEJS整合到CesiumJS中 为实现效果所需我们找到官方Integrating Cesium with Three.js博客&#xff0c;于是根据该博客提供的思路去实现整合 文章目录 一、创…

VMware虚拟机三种网络模式设置 - NAT(网络地址转换模式)

一、前言 在前一篇《Bridged&#xff08;桥接模式&#xff09;》中&#xff0c;我详细介绍了虚拟机网络模式设置中的桥接模式。今天详细讲解一下NAT&#xff08;网络地址转换模式&#xff09;。 在虚拟机&#xff08;VM&#xff09;中&#xff0c;NAT&#xff08;Network Addre…

微信小程序navigateTo异常(APP-SERVICE-SDK:Unknown URL)

背景 在开发小程序时&#xff0c;可能会用到banner&#xff0c;通过banner跳转至各种子页面。但是因为小程序自身的因素&#xff0c;有些是不允许的&#xff0c;比如通过banner跳转一个http/https链接。如果使用 wx.navigateTo完成跳转时&#xff0c;就会发生异常。 navigate…

Latex添加参考文献的两种方案

Latex添加参考文献的两种方案 方案1&#xff1a;一般插入法方案2&#xff1a;使用BibTex 方案1&#xff1a;一般插入法 此方案在latex结尾直接插入参考文献&#xff0c;一般从IEEE官网下载的模板好像默认都是这样的&#xff01;下面为参考格式&#xff1a; 这种方案比较容易操…

产品心理学:曝光效应

曝光效应&#xff08;the exposure effect or the mere exposure effect&#xff09;&#xff1a;又谓多看效应、&#xff08;简单、单纯&#xff09;暴露效应、&#xff08;纯粹&#xff09;接触效应等等。 它是一种心理现象&#xff0c;指的是我们会偏好自己熟悉的事物&#…