韦恩图 您所在的位置:网站首页 用韦恩图表示集合之间的关系和运算 韦恩图

韦恩图

2023-07-22 01:51| 来源: 网络整理| 查看: 265

1.概念

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

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

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

绘制韦恩图 R中VennDiagram包的Venn.Diagram()函数、gplots包的Venn()函数、limma包VennDiagram()函数、Venneuler包的Venneuler()函数都可以绘制韦恩图,但是以VennDiagram包的Venn.Diagram()函数绘制的韦恩图效果最佳,具体实现代码如下所示。

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 % pivot_longer(-ASV) %>% filter(value !=0) %>% rename(sample=name) #共4个处理,每个处理三个重复,求平均值, A % filter(sample=="A_1") B % filter(sample=="B_1") C % filter(sample=="C_1") D % 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)

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有