韦恩图——你学会了吗?

韦恩图——你学会了吗?韦恩图 韦恩图

1.概念

        韦恩图(Venn diagram),也叫温氏图、维恩图、范氏图,用于显示素集合重叠区域的图表(见图4-9-1)。韦恩图是关系型图表,通过图形与图形之间的层叠关系,来表示集合与集合之间的相交关系。每个集合通常以一个圆圈表示。每个集合都是一组具有共同之处的物件或数据。当多个圆圈(集)相互重叠时,称为交集(intersection),里面的数据同时具有重叠集中的所有属性。

一个完整的韦恩图包含以下构成素:①若干个圆表示集合;②若干个圆的层叠部分表示公有集合;③内部文本标签。一般来说,超过5个集合的场景,不适合使用韦恩图。

适合场景1:表示两个集合相交关系,有一个集合A,有一个集合B,相交集合为C。有两个维度数据,其中,分类数据映射集合名,关系数据映射集合关系。
适合场景2:表示3个集合相交关系,有集合A、B、C。有两个维度数据,其中,分类数据映射集合名,关系数据映射集合关系。
适合场景3:表示4个集合相交关系,有集合A、B、C、D。有两个维度数据,其中,分类数据映射集合名,关系数据映射集合关系。

library(VennDiagram) library(RColorBrewer) venn.diagram(list(B = 1:1800, A = 1571:2020,c=500:1100),fill = c(brewer.pal(7,"Set1")[1:3]), alpha = c(0.5, 0.5,0.5), cex = 2, cat.cex=3,cat.fontface = 4,lty =2, fontfamily =3, resolution =300, filename = "trial2.tiff")

2.示例代码和效果图

library(tidyverse) library(ggvenn) setwd('G:\\rwork') group <- read.delim("group.xls") df <- read.delim("otu.xls",check.names=F) %>% as_tibble() %>% pivot_longer(-ASV) %>% filter(value !=0) %>% rename(sample=name) #共4个处理,每个处理三个重复,求平均值, A <- df %>% filter(sample=="A_1") B <- df %>% filter(sample=="B_1") C <- df %>% filter(sample=="C_1") D <- df %>% filter(sample=="D_1") list(E=E$ASV,O=O$ASV,g=g$ASV,b=b$ASV) %>% ggvenn(show_percentage = T,show_elements = F,label_sep = ",", digits = 1,stroke_color = "white",stroke_alpha=1, # stroke_linetype="dashed", fill_color = c("#E41A1C", "#1E90FF", "#FF8C00", "#4DAF4A"), set_name_color = c("#E41A1C", "#1E90FF","#FF8C00","#4DAF4A")) ggsave("venn.pdf",width=10,height=8) ggsave("venn.png",width=10,height=8) ggsave("venn.pptx",width=10,height=8)

 

今天的文章 韦恩图——你学会了吗?分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-01-01 17:01
下一篇 2025-01-01 16:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/98629.html