跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验

跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验

“实践是检验真理的唯一标准。”

“复现是学习R语言的最好办法。”

跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验_第1张图片

DOI: 10.1016/j.cell.2020.05.032

这篇2020年发表在cell上关于新冠的组学文章里面有大量的生信内容。今天带大家复现其中的一个Supplemental Figure带散点的箱线图

本文代码及示例数据领取:后台回复“20210416

跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验_第2张图片 2021.4.16_1

比较常用的展示差异的可视化方法。

数据格式

跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验_第3张图片 2021.4.16_2

注:以上数据纯属虚构,无实际意义!

思路

  • 箱线图+显著性检验+散点

均值比较的常见方法:

方法 R实现函数 描述
T-test t.test() 比较两组(参数检验)
Wilcoxon test wilcox.test() 比较两组(非参数检验)
ANOVA aov()或anova() 比较多组(参数检验)
Kruskal-Wallis kruskal.test() 比较多组(非参数检验)

绘制

#------
title: "boxplot"
author: "MZBJ"
date: "2020/4/16"
#-----
 # 导入所需的包
library(ggplot2)
library(ggsignif)
library(ggpubr)
library(RColorBrewer)
setwd("F:/HJH/mzbj/cell")
# 导入数据
plot_data <- read.csv(file = "ABCD.csv")
#-----------------------
p<- ggplot(data=plot_data)+ 
  geom_boxplot(mapping=aes(x=group,y=Retive_Abundance,colour = group ), #箱线图
               alpha = 0.5,
               size=1.5,
               width = 0.6)+ 
  geom_jitter(mapping=aes(x=group,y=Retive_Abundance,colour = group), #散点
              alpha = 0.3,size=3)+
  scale_color_manual(limits=c("A","B","C","D"), 
                     values=c("#85B22E","#5F80B4","#E29827","#922927"))+ #颜色
  geom_signif(mapping=aes(x=group,y=Retive_Abundance), # 不同组别的显著性
              comparisons = list(c("A", "B"), # 哪些组进行比较
                                 c("A", "C"),
                                 c("A", "D"),
                                 c("B", "C"),
                                 c("B", "D"),
                                 c("C", "D")),
              map_signif_level=T, # T显示显著性,F显示p value
              tip_length=c(0,0,0,0,0,0,0,0,0,0,0,0), # 修改显著性线两端的长短
              y_position = c(40,41,42,39,38,40), # 设置显著性线的位置高度
              size=1, # 修改线的粗细
              textsize = 4, # 修改显著性标记的大小
              test = "t.test")+ # 检验的类型
  theme_classic(  # 主题设置,这个是无线条主题
    base_line_size = 1 # 坐标轴的粗细
  )+
  labs(title="White blood cell(WBC)",x="",y="Retive_Abundance")+ # 添加标题,x轴,y轴内容
  theme(plot.title = element_text(size = 15,
                                  colour = "black",
                                  hjust = 0.5),
        axis.title.y = element_text(size = 15, 
                                    # family = "myFont", 
                                    color = "black",
                                    face = "bold", 
                                    vjust = 1.9, 
                                    hjust = 0.5, 
                                    angle = 90),
        legend.title = element_text(color="black", # 修改图例的标题
                                    size=15, 
                                    face="bold"),
        legend.text = element_text(color="black", # 设置图例标签文字
                                   size = 10, 
                                   face = "bold"),
        axis.text.x = element_text(size = 13,  # 修改X轴上字体大小,
                                   color = "black", # 颜色
                                   face = "bold", #  face取值:plain普通,bold加粗,italic斜体,bold.italic斜体加粗
                                   vjust = 0.5, # 位置
                                   hjust = 0.5, 
                                   angle = 0), #角度
        axis.text.y = element_text(size = 13,  
                                   color = "black",
                                   face = "bold", 
                                   vjust = 0.5, 
                                   hjust = 0.5, 
                                   angle = 0) 
  )
p

跟着 Cell 学作图 | 3.箱线图+散点+差异显著性检验_第4张图片 2021.4.16_3.png

大功告成!

备注:有个瑕疵就是y轴过长。但是我设定y轴范围后,差异标记也被截掉了。目前能想到的解决办法就是AI简单向下拉一下Y轴。


往期内容:

跟着CELL学作图|1.火山图

跟着Cell学作图 | 2.柱状图+误差棒+散点+差异显著性检验

你可能感兴趣的:(数据可视化,html,css,ggplot2,csv)