cell_3.jpg
跟著 Cell 學(xué)作圖 | 3.箱線圖+散點+差異顯著性檢驗
“實踐是檢驗真理的唯一標(biāo)準(zhǔn)咏删。”
“復(fù)現(xiàn)是學(xué)習(xí)R語言的最好辦法≈郏”
2021.4.12_1
這篇2020年發(fā)表在cell
上關(guān)于新冠的組學(xué)文章里面有大量的生信內(nèi)容。今天帶大家復(fù)現(xiàn)其中的一個Supplemental Figure
:帶散點的箱線圖钧萍。
本文代碼及示例數(shù)據(jù)領(lǐng)群植:后臺回復(fù)“20210416”
2021.4.16_1
比較常用的展示差異的可視化方法。
數(shù)據(jù)格式
2021.4.16_2
注:以上數(shù)據(jù)純屬虛構(gòu)风瘦,無實際意義队魏!
思路
- 箱線圖+顯著性檢驗+散點
均值比較的常見方法:
方法 | R實現(xiàn)函數(shù) | 描述 |
---|---|---|
T-test | t.test() | 比較兩組(參數(shù)檢驗) |
Wilcoxon test | wilcox.test() | 比較兩組(非參數(shù)檢驗) |
ANOVA | aov()或anova() | 比較多組(參數(shù)檢驗) |
Kruskal-Wallis | kruskal.test() | 比較多組(非參數(shù)檢驗) |
繪制
#------
title: "boxplot"
author: "MZBJ"
date: "2020/4/16"
#-----
# 導(dǎo)入所需的包
library(ggplot2)
library(ggsignif)
library(ggpubr)
library(RColorBrewer)
setwd("F:/HJH/mzbj/cell")
# 導(dǎo)入數(shù)據(jù)
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(xiàn)顯示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), # 設(shè)置顯著性線的位置高度
size=1, # 修改線的粗細(xì)
textsize = 4, # 修改顯著性標(biāo)記的大小
test = "t.test")+ # 檢驗的類型
theme_classic( # 主題設(shè)置万搔,這個是無線條主題
base_line_size = 1 # 坐標(biāo)軸的粗細(xì)
)+
labs(title="White blood cell(WBC)",x="",y="Retive_Abundance")+ # 添加標(biāo)題胡桨,x軸,y軸內(nèi)容
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", # 修改圖例的標(biāo)題
size=15,
face="bold"),
legend.text = element_text(color="black", # 設(shè)置圖例標(biāo)簽文字
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
2021.4.16_3.png
大功告成呢诬!
備注:有個瑕疵就是y軸過長。但是我設(shè)定y軸范圍后胖缤,差異標(biāo)記也被截掉了尚镰。目前能想到的解決辦法就是AI簡單向下拉一下Y軸。
往期內(nèi)容: