首页 > 其他分享 >R :试验设计示意图(第二版)

R :试验设计示意图(第二版)

时间:2023-11-09 11:14:18浏览次数:24  
标签:自定义 title 第二 试验 ggplot2 示意图 size

# 加载ggplot2包
library(ggplot2)

# 自定义文字大小
axis_title_size <- 18
axis_text_size <- 12
label_text_size <- 3.8
title_size <- 18
facet_label_size <- 14
legend_text_size <- 14  # 调整图例文本大小
legend_key_size <- unit(1, "cm")  # 调整图例键大小

# 自定义框的高度
tile_height <- 0.6

# 自定义分面间距
facet_spacing <- unit(0.3, "cm")

# 创建数据框
sites <- c("Site 1", "Site 2", "Site 3")
weeks <- c("Week 4", "Week 6", "Week 8", "Week 10")
materials <- c("B73", "Mo17")

df <- expand.grid(site = sites, time = weeks, material = materials, replicate = c("Rep 1", "Rep 2", "Rep 3"))

# 创建新标签映射
label_map <- function(site, week, material) {
  site_number <- gsub("Site ", "", site)
  week_number <- gsub("Week ", "", week)
  material_letter <- ifelse(material == "B73", "B", "M")
  paste0(material_letter, site_number, "W", week_number)
}

# 将映射应用到数据框,生成新的标签列
df$label <- mapply(label_map, df$site, df$time, df$material)

# 绘制图形
p <- ggplot(df, aes(x = interaction(time, material, sep = "-", lex.order = TRUE), y = replicate)) + 
  geom_tile(aes(fill = material), color = "white", width = 0.9, height = tile_height) +
  geom_text(aes(label = label), color = "black", size = label_text_size, vjust = 0.5, hjust = 0.5) +
  scale_fill_manual(values = c("B73" = "#00BFFF", "Mo17" = "#FF4500")) +
  facet_wrap(~ site, ncol = 1, scales = "free_y") + 
  labs(title = "Field situation diagram", x = "Growth Stage", fill = "Variety") + 
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1, size = axis_text_size),
        axis.text.y = element_text(size = axis_text_size),
        axis.title.x = element_text(size = axis_title_size),
        axis.title.y = element_text(size = axis_title_size),
        plot.title = element_text(size = title_size, hjust = 0.5),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(),
        strip.text = element_text(size = facet_label_size),
        panel.spacing = facet_spacing,
        legend.text = element_text(size = legend_text_size),
        legend.key.size = legend_key_size)

# 打印图形
print(p)

 

标签:自定义,title,第二,试验,ggplot2,示意图,size
From: https://www.cnblogs.com/wzbzk/p/17819244.html

相关文章

  • 第二节:队列详解 和 面试题剖析
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载......
  • kafka第二天学习笔记
    第二天学习Kafka,我们继续深入了解这个分布式流处理平台的核心概念和功能。以下是一些重要的知识点和概念:Kafka的消费者组:消费者组是多个消费者实例的组合,可以共同消费一个topic中的消息。消费者组中的每个消费者会均匀分配topic中的消息,实现负载均衡和高可用性。Kafka的分区策略:当......
  • C语言程序设计 第二章 数据类型
    本节是学习C语言数据类型。1、掌握C的数据类型2、掌握整型、实型、字符型数据的常量及变量  下载Powerpoint课件 下载图片格式的课件(PPT课件转换为JPG图片)......
  • C语言程序设计 练习题参考答案 第二章
    2.4C,2.5B,2.6A,2.7B,2.8C,2.9C,2.10B,2.11A,2.12D,2.13A,2.14 3,14,32,41,22.15 (1)1(2)30 (3)5.0(4)0.0(5)1......
  • 第二十三次打靶
    靶机介绍1)靶机地址:https://download.vulnhub.com/cereal/Cereal.ova2)靶机难度:高(最接近真实场景)3)打靶目标:取得root权限+2Flag4)涉及攻击方法:主机发现、端口扫描、信息收集、路径枚举、密码爆破、域名解析、匿名FTP、子域名爆破、源码审计、反序列化漏洞、编写漏洞利用代......
  • 23级ACM第二次招新测试题解
    A.lyynuu思路:先了解子序列的概念:在数学中,某个序列的子序列是从最初序列通过去除某些元素但不破坏余下元素的相对位置(在前或在后)而形成的新序列接下来我们就思考什么样的字符串可以让子序列lynu形成的数量最多,显然当相同字符连在一起时可以形成尽可能多的lynu,例如:llyy......
  • 代码随想训练营第二十八天(Python)| 93.复原IP地址 、 78.子集、 90.子集II
    93.复原IP地址1、方法一classSolution:defrestoreIpAddresses(self,s:str)->List[str]:res=[]self.tracebacking(s,0,[],res)returnresdeftracebacking(self,s,start,path,res):ifstart==len(s)andlen(pa......
  • python初学者学习笔记-第二章-变量和数据类型
    chapter2/变量和数据类型2.1Python语法简介Python的语法主要有三个特点:英文输入,单行执行,缩进模式。如上图的代码,以“#”开头的语句是注释;一行是一块代码;以冒号“:”结尾时,换行执行缩进模式,其后的语句组成一个整体的代码块。大小写敏感的。2.2print()print()函数———打......
  • VM 虚拟机挂起之后,或者关闭虚拟机,第二天连接不上 !
    解决方案:1.查看托管是否启动:网卡没有启动可能是没加入托管?2.查看托管是否启动:nmclin如果为disable,说明托管未启用显示为enable,说明是托管是启动了的3.开启托管:nmclinon4.重启:输入:systemctlrestartNetworkManager或者reboot 5.再次尝试xshell连接,重试正常......
  • 第二十二次打靶
    靶机介绍1)靶机地址:https://download.vulnhub.com/geminiinc/Gemini-Pentest-v2.zip2)靶机难度:中3)打靶目标:取得root权限+2Flag4)涉及攻击方法:主机发现、端口扫描、信息收集、隐藏路径爬取、开放注册、验证码爆破、AntiCSRFToken、密码破解、WAFBypass、命令注入绕过、S......