image.png
韋恩圖本來是不想說的,因?yàn)楹芎?jiǎn)單暮芭,也有在線工具想鹰,然而還是有小伙伴詢問如何制作韋恩圖,那種韋恩圖的元素大小用不同大小的圈表示吁系,在線工具可以實(shí)現(xiàn):http://www.biovenn.nl/index.php
圖片
但是架不住很多人問R語言如何做德召,所以還是說一下韋恩圖的R畫法。同時(shí)汽纤,也將這個(gè)內(nèi)容升級(jí)一下氏捞,平常我們見到的韋恩圖最多也就是4個(gè)集合,但是當(dāng)大于4的時(shí)候冒版,韋恩圖可以畫出來液茎,可是可視化的效果亂七八糟,導(dǎo)致結(jié)果沒有任何意義辞嗡。所以這里也提供一種不一樣的集合元素的展示方法捆等,本質(zhì)是韋恩,但是在展現(xiàn)方式上更加具有優(yōu)勢(shì)续室。
一栋烤、R語言繪制韋恩圖---集合元素多少用不同大小的圈表示
繪制這種韋恩圖需要用到的是Vennerable包:
install.packages("devtools",repos="http://mirrors.tuna.tsinghua.edu.cn/CRAN/")
library(devtools)
install_github("js229/Vennerable")
library(Vennerable) #加載
之后準(zhǔn)備數(shù)據(jù)并讀入,每個(gè)集合是一個(gè)list:
setwd("E:/生物信息學(xué)/轉(zhuǎn)錄組韋恩圖")
A <- read.csv("韋恩圖.csv")
Set1 <- as.list(A$Set1)
Set2 <- as.list(A$Set2)
Set3 <- as.list(A$Set3)
example <-list(Set1=Set1,Set2=Set2,Set3=Set3)
畫圖:
Veenplot <- Venn(example)
Veenplot<-Veenplot[, c("Set1", "Set2", "Set3")]
plot(Veenplot, doWeights = TRUE)
image.gif
這個(gè)有一個(gè)缺點(diǎn)是顏色不能自定義挺狰,但是可以通過導(dǎo)出pdf格式明郭,在AI或者PS中進(jìn)行修飾即可。
二丰泊、Upset繪制不一樣的韋恩圖
Upset繪制的圖在本質(zhì)上還是韋恩圖薯定,只是展示的方式不一樣,也是結(jié)合元素之間的關(guān)系瞳购。對(duì)于多個(gè)集合的比較效果較好话侄。
安裝R包:
devtools::install_github("GuangchuangYu/UpSetR")
library(UpSetR)
準(zhǔn)備數(shù)據(jù):
Set1 <- as.list(A$Set1)
Set2 <- as.list(A$Set2)
Set3 <- as.list(A$Set3)
Set4 <- as.list(A$Set4)
Set5 <- as.list(A$Set5)
example <-list(Set1=Set1,Set2=Set2,Set3=Set3,Set4=Set4,Set5=Set5) # 合并列表
example <- fromList(example)#Upset 自帶函數(shù)轉(zhuǎn)化數(shù)據(jù)結(jié)構(gòu)
setsBarColors <-c('#EA4335', '#FBBC05', '#34A853', '#4285F4', '#68A180')# 設(shè)置集合顏色
一鍵畫圖:
upset(example,
nsets=length(example),
nintersects = 1000,
sets = c('Set1','Set2',"Set3","Set4","Set5"),
keep.order = TRUE,
point.size = 3,
line.size = 1,
number.angles = 0,
text.scale = c(1.5, 1.2, 1.2, 1, 1.5, 1),
order.by="freq",
matrix.color="#4285F4",
main.bar.color = 'black',
sets.bar.color=setsBarColors)
圖片
制作完成。
想要示例數(shù)據(jù)和詳細(xì)解釋的請(qǐng)打賞截圖聯(lián)系作者,留下您的郵箱哦年堆!