R绘制韦恩图
2019-04-04 本文已影响35人
九月_1012
目前做Venn图的R包中,VennDiagram是常用的包,可以做2元到5元的图。下面介绍一下2元到5元venn图的做法。
1 安装包
install.packages("VennDiagram") #安装过程中会弹出选择源,选择中国的源即可。
library (VennDiagram) #使用VennDiagram包
2 数据
设置5个数据集,因为VennDiagram最多支持5个数据集,6元及以后的venn图此包不支持。理论上在二维平面上能做到9元韦恩图,不过6元及以上(nature上有相关的6元图的文章)的韦恩图看着实在是太乱了,画出来看着也让人头皮发麻,可视化显示并不是太好。
首先生成以下五个数据集:
A = 1:150 #生成1-150数字组成的元素集
B = c(121:170,300:320) #生成121-170数字和300-320数字组成的元素集
C = c(20:40,141:200) #生成20-40数字和141-200数字组成的元素集
D = c(30:60,121:180) #生成30-60数字和121-180数字组成的元素集
E = c(100:180) #生成100-180数字组成的元素集
3 Veen R代码
# 四元Veen图
T<-venn.diagram(list(A=A,D=D,B=B,C=C),
filename=NULL,
lwd=1,#圈线粗度
lty=1, #圈线类型
col=c('#0099CC','#FF6666','#FFCC99','#0099CC'), #圈线颜色
fill=c('#0099CC','#FF6666','#FFCC99','#0099CC'), #填充颜色
cat.col=c('#0099CC','#FF6666','#FFCC99','#0099CC'),#A和B的颜色
cat.cex = 2.5,# A和B的大小
rotation.degree = 0,#旋转角度
main = "A&B&C&D",#主标题内容
main.cex = 2,#主标题大小
sub = "plot : example",#亚标题内容
sub.cex = 1,#亚标题字大小
cex=1.5,#里面交集字的大小
alpha = 0.5,#透明度
reverse=TRUE)
grid.draw(T)
来源:Veen图绘制简易代码