zl程序教程

您现在的位置是:首页 >  其他

当前栏目

R语言 | 差异箱线图的绘制

2023-04-18 14:39:18 时间

本次讲的是差异箱线图的绘制,在基因表达量、生态学实验数据统计(如发芽率、产卵量、性比等等)等方面应用比较多。

先看看示例图(以孵化率为例):

那么这样的图该如何绘制呢?

第一步、准备数据

数据格式如下(未截全,展示部分):

第二步、运行代码

将数据导入Rstudio中,复制粘贴以下代码即可出图:

#安装并加载ggplot2和ggpubr
install.packages("ggplot2")
install.packages("ggpubr")
library(ggplot2) 
library(ggpubr) 
#设置工作目录(这里注意R中'/'和Windows中''是不同的)
setwd("D://桌面内容//test") 
#读取输入文件
library(readxl)
data <- read_excel("D:/桌面内容/test/data.xlsx")
#提取data数据集中第2列,第3列的列名
x=colnames(data)[2]
y=colnames(data)[3]
#显示Treatment中因子水平名称
group=levels(factor(data$Treatment)) 
#将Treatment转换成因子型变量
data$Treatment=factor(data$Treatment, levels=group)
#获得Treatment中元素之间的组合,即:设置比较组(将所有实验组分成两两一组进行后续比较)
comp=combn(group,2)
my_comparisons=list()
for(i in 1:ncol(comp)){my_comparisons[[i]]<-comp[,i]}
#axis.title:轴坐标
#axis.title.x:x轴标题
#axis.title.y:y轴标题
#legend.title:图例标题
#legend.text:图例分类标签
#axis.text.x:x轴刻度值
mytheme <- theme(axis.title=element_text(size=30),
                 axis.title.x=element_text(size=15),
                 axis.title.y=element_text(size=15),
                 legend.title=element_text(size=15),
                 legend.text=element_text(size=15),
                 axis.text.x=element_text(size=15))
#绘图
#stat_compare_means(comparisons = my_comparisons):指定需要进行比较以及添加p-value、显著性标记的组
boxplot=ggboxplot(data, 
                  x="Treatment",   
                  y="Global hatch rate", 
                  xlab=x,
                  ylab=y,
                  legend.title=x,
                  color="Treatment",
                  palette = c("blue","red"),
                  add = "jitter")+ 
    stat_compare_means(comparisons = my_comparisons) +
    scale_y_continuous(limits=c(0,1.05)) +
    mytheme
#输出图片
print(boxplot)