
image-20231202210432970.png
R實(shí)用繪圖系列主要是帶領(lǐng)大家繪制一些實(shí)用、好看而又不太復(fù)雜的科研常用圖形,主打一個(gè)實(shí)用,該系列會(huì)持續(xù)更新,希望對(duì)小伙伴們有所幫助。
那我們就正式開(kāi)始啦。今天帶領(lǐng)大家繪制的是韋恩圖(venn diagram),韋恩圖屬于關(guān)系型圖表,通過(guò)圓圈與圓圈之間的重疊關(guān)系,來(lái)表示集合與集合之間的相交關(guān)系。
一般來(lái)說(shuō)韋恩圖只適用于小于等于5個(gè)集合的場(chǎng)景,如果集合過(guò)多,一方面是不美觀,另一方面是常用的R包也不支持。這種情況可以考慮花瓣圖或者Upset圖等,后續(xù)我們都會(huì)更新。
數(shù)據(jù)準(zhǔn)備
在這里我準(zhǔn)備了四個(gè)數(shù)值型元素的集合,在R中用向量表示就可以。你也可以采用字符型等其他元素集合。
# 設(shè)置不一樣的抽樣種子,獲得4個(gè)不一樣的集合
# 并把結(jié)果固定下來(lái)
set.seed(123)
part1 <- sample(1:300,size = 100,replace = F)
set.seed(456)
part2 <- sample(1:300,size = 100,replace = F)
set.seed(666)
part3 <- sample(1:300,size = 100,replace = F)
set.seed(888)
part4 <- sample(1:300,size = 100,replace = F)
查看交集
# 查看四個(gè)集合的交集元素
intersect(intersect(part1,part2),intersect(part3,part4))
繪圖并保存
# 加載ggvenn包--繪圖用
library(ggvenn)
# 加載RColorBrewer--生成顏色用
library(RColorBrewer)
# 把四個(gè)集合的向量合并成一個(gè)列表
# 注意這里的PART1、PART2、PART3、PART4就是后續(xù)展現(xiàn)在圖里的集合名稱(chēng)
vennlist1 <- list(PART1=part1,PART2=part2,PART3=part3,PART4=part4)
#繪制韋恩圖
p <- ggvenn(vennlist1,
fill_color=c(brewer.pal(8, 'Set2')[2:5]), # 設(shè)置填充顏色
stroke_size=0.5, # 集合圓圈的線(xiàn)寬
set_name_size=3.3, # 集合名稱(chēng)的文本大小
digits = 0, # 小數(shù)點(diǎn)后保留位數(shù)
show_percentage = F # 是否展示每一部分所占的百分比
)
p
ggsave("venn.pdf",p,width = 4,height = 4)
繪圖效果

image-20231202210108522.png
系列文章
R實(shí)用繪圖--相關(guān)性熱圖
本期內(nèi)容就到這里了,喜歡的小伙伴,歡迎點(diǎn)贊、轉(zhuǎn)發(fā)、收藏哦!
關(guān)注數(shù)據(jù)之帆,成為一帆的原始粉絲,和一帆一起進(jìn)步吧!