您當前的位置:首頁 > 農業

R繪圖|韋恩圖的常見繪製方法

作者:由 clariom 發表于 農業時間:2020-06-20

實驗設計:對照組,TNF處理組,TGF處理組,IL4處理組,每組3個生物學重複

實驗分組:TNF組 vs 對照組;TGF組 vs 對照組;IL4組 vs 對照組

所得資料:三種分組比較下的差異基因

最終需求:直觀展示三組差異結果的共同基因及特有基因

以上這類設計和需求是高通量資料後期展示時常見的需求,通常透過繪製韋恩圖(Venn圖)就可以滿足! 如下圖左側,就是典型的韋恩圖展示形式,不同的顏色代表不同的來源,它們之間的共有基因或是特有基因數量一目瞭然,可直觀展示出不同來源資料之間的在成分上的異同點。

R繪圖|韋恩圖的常見繪製方法

近幾年針對這類需求,又出現了一種更棒的視覺化形式,如下圖,直觀展示7組資料之間的關係,一目瞭然。

R繪圖|韋恩圖的常見繪製方法

今天呢,來簡單演示下火山圖的繪製方法,有資料的小夥伴可以試試!資料就以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’) #繪圖

R繪圖|韋恩圖的常見繪製方法

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繪圖|韋恩圖的常見繪製方法

往期回顧

R繪圖|ggplot2散點圖的繪製

R繪圖|pheatmap熱圖繪製——基礎篇

R繪圖|pheatmap熱圖繪製——中階篇

R繪圖|pheatmap熱圖繪製——高階篇

標簽: readxl  Venn  data  TNF  IL4