R繪圖|韋恩圖的常見繪製方法
實驗設計:對照組,TNF處理組,TGF處理組,IL4處理組,每組3個生物學重複
實驗分組:TNF組 vs 對照組;TGF組 vs 對照組;IL4組 vs 對照組
所得資料:三種分組比較下的差異基因
最終需求:直觀展示三組差異結果的共同基因及特有基因
以上這類設計和需求是高通量資料後期展示時常見的需求,通常透過繪製韋恩圖(Venn圖)就可以滿足! 如下圖左側,就是典型的韋恩圖展示形式,不同的顏色代表不同的來源,它們之間的共有基因或是特有基因數量一目瞭然,可直觀展示出不同來源資料之間的在成分上的異同點。
近幾年針對這類需求,又出現了一種更棒的視覺化形式,如下圖,直觀展示7組資料之間的關係,一目瞭然。
今天呢,來簡單演示下火山圖的繪製方法,有資料的小夥伴可以試試!資料就以TNF組 vs 對照組;TGF組 vs 對照組;IL4組 vs 對照組三組差異基因來做案例。
vennR包繪製韋恩圖
首先清除環境,安裝並載入所需要的R包
rm(list = ls()) #清除環境記憶體
install。packages(“readxl”) #安裝readxl包
install。packages(‘venn’) #安裝venn包
library(readxl) #載入readxl包
library(venn)
讀入資料並對資料做簡單處理
讀入IFN組差異資料
data<-read_excel(“venn。xls”,1) #讀入excel資料
IFN<-data$`Gene Symbol`
讀入TNF組資料
data<-read_excel(“venn。xls”,2) #讀入excel資料
TNF<-data$`Gene Symbol
讀入IL4組差異資料
data<-read_excel(“venn。xls”,3) #讀入excel資料
IL4<-data$`Gene Symbol`
將3組資料構建成list
x <- list(IFN=IFN, TNF=TNF, IL4=IL4) # list內元素為元素型,不可以是表達矩陣
# 或者也可以把資料放在一起直接載入為data
# x <- list(IFN=data$IFN, TNF=data$TNF, IL4=data$IL4) # 這樣構建資料也可以
用venn包繪圖
?venn #檢視venn函式的使用方法
venn(x,zcolor=‘style’) #繪圖
venn.dragram R包繪製韋恩圖
首先清除環境,安裝並載入所需要的R包
rm(list = ls()) #清除環境記憶體
#install。packages(“readxl”) #安裝readxl包
#install。packages(‘VennDiagram’)
library(readxl) #載入readxl包
library(VennDiagram)
讀入資料並對資料做簡單處理
讀入3組彙總資料
data<-read_excel(“venn。xls”,4) #讀入excel資料
data<-as。data。frame(data) #將data轉換為data。frame格式
data[is。na(data)]<- 0 #將NA值替換為0
用venn。diagram繪圖
?venn。diagram #檢視具體引數和使用方法
venn。plot <-venn。diagram(
list(IFN = data$IFN,TNF = data$TNF,IL4 = data$IL4),
filename = “Venn。PDF”,
fill = c(“red”,“blue”,“green”),
alpha = 0。5,
cex = 1,
lwd=0,
lty=0,
fontfamily = “serif”,
fontface = “bold”,
cat。default。pos = “text”,
cat。col = c(“red”,“blue”,“green”),
cat。cex = 1。5,
cat。fontfamily = “serif”,
cat。dist = c(0。2, 0。2, -0。15),
cat。pos = 0)
UpsetR包繪製韋恩圖
首先清除環境,安裝並載入所需要的R包
rm(list = ls()) #清除環境記憶體
install。packages(“UpSetR”)
install。packages(“readxl”) #安裝readxl包
library(readxl) #載入readxl包
library(UpSetR)
讀入資料並對資料做簡單處理
讀入3組彙總資料
data<-read_excel(“venn。xls”,4) #讀入excel資料
data<-as。data。frame(data) # 將data轉換為data。frame格式
data[is。na(data)]<- 0 #將NA值替換為0
X=list(IFN = data$IFN,TNF = data$TNF,IL4 = data$IL4) #將3組資料彙總成list
用upsetR 繪圖
p=upset(fromList(X),nsets = 3, order。by = “freq”,
point。size = 5,
line。size = 1。3,
mainbar。y。label = “IntersectionSize”,
sets。x。label = “”,
mb。ratio = c(0。60, 0。40),
text。scale = c(2, 2, 2, 2,2, 2))
p
往期回顧
R繪圖|ggplot2散點圖的繪製
R繪圖|pheatmap熱圖繪製——基礎篇
R繪圖|pheatmap熱圖繪製——中階篇
R繪圖|pheatmap熱圖繪製——高階篇
上一篇:要秋天的第一杯奶茶是不是很作?
下一篇:世界各國的暗黑壯陽聖品