R實(shí)用繪圖--韋恩圖

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)步吧!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容