可以旋转的3D韦恩图你见过吗?
时间:2022-07-26
本文章向大家介绍可以旋转的3D韦恩图你见过吗?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
韦恩图是一种在科研文章中非常常见的图示法,比如在转录组数据中,常常会涉及到几千甚至上万的基因数量,有时为了研究需要,会分别获得两组或多组数据中具有某种特定功能或特点的基因集。通过绘制韦恩图,可以直观的显示出这些特定功能的基因集中,哪些是组间共有的基因,哪些是每组独有的基因[PMID: 32388965]。
我们总结过几款简单易操作的在线韦恩图绘图工具[0代码绘制文氏图],有很多小伙伴来私信讨论,今天我们再来分享几个R包。
韦恩图在文献中的应用
[PMID:32616488]Figure 1:失业和就业人群中CVD、PD、IC和RD的多病性。
[PMID: 32603365]Fig 2. 维恩图显示了四个比较组的交叉和非交叉DEG集:HT vs. TN; PTC w/ HT vs. TN; PTC w/o HT vs. TN; and mPTC vs. TN.
R包使用
01
VennDiagram包,2~5个数据集
install.packages("VennDiagram");library(VennDiagram)
venn_list=list(BLCA = file[which(file[,6]=="BLCA"),1],COAD = file[which(file[,6]=="COAD"),1], KICH= file[which(file[,6]=="KICH"),1],BRCA = file[which(file[,6]=="BRCA"),1],GBM = file[which(file[,6]=="GBM"),1])
venn.diagram(venn_list,filename = 'venn.tiff',#输出文件
main="venn_plot",main.col="red",#主标题及颜色
fill = c('red', 'green', 'blue', 'yellow', 'gray'),#填充颜色
alpha = 0.6,#填充颜色的透明度
col = 'black',#边框颜色
cex = 1,#文本大小
margin = 0.05#边缘距离
)
02
gplots包,2~5个数据集
install.packages("gplots");library(gplots)
tmp <- venn(venn_list,
#show.plot=T,#是否显示图片
#simplify=TRUE #不带空集合
)
attr(tmp, "intersections")
优点是能够输出各集合间特有/共有的元素,但图形过于单调。
03
Venn包,2~7个数据集
这个包厉害了,其他R包只支持5个集合,但它可以制作7元韦恩图!
install.packages("venn");library(venn)
par(mfrow=c(1,3))
venn(venn_list,ilabels = FALSE,#ellipse = TRUE,显示成椭圆
zcolor = c('red', 'green', 'blue', 'yellow', 'gray'),
opacity = 0.5,#指定的颜色的不透明度
ilcs = 0.6,#交集标签大小
sncs = 1,#集合标签的大小
borders = TRUE,#显示交集边缘
box = TRUE,#画出外面的正方形
)
x <- as.data.frame(matrix(sample(0:1, 180, replace = TRUE), ncol = 6))
y=c("1000000", "0100000", "0010000", "0001000", "0000100", "0000010", "0000001", "1111111")
#“1000000”代表只在第一数据集中,“1111111”表示在所有数据集中。
venn(x,box = FALSE,col=rainbow(7)#边框颜色
)
venn(y,zcolor=rainbow(7),box = FALSE,borders=FALSE)
04
vennplot包,2D&3D韦恩图
(1) 3D韦恩图
install.packages("vennplot");library(vennplot)
disjoint.combinations = c(BLCA=length(gene1), COAD=length(gene2),KICH=length(gene3),BRCA=length(gene4),
"BLCA&KICH"=30, "BLCA&BRCA"= 30,"COAD&BRCA"=7,"BLCA&COAD&KICH"=4,"BLCA&COAD"=14)
ve = vennplot(disjoint.combinations,
ThreeD = TRUE,#展示3D图形
smooth=TRUE#在ThreeD = TRUE时使小球边缘光滑,多个集合旋转图形时显示窗口不稳定
)
3D球形韦恩图,在R中的操作界面中是可以拖拉旋转的,但小编找了几个函数都没能保存,如果你有好的方法,欢迎大家在后台留言~
(2) 2D韦恩图
vennplot(disjoint.combinations = df, vars = c("BLCA","KICH","COAD","BRCA"),
mar=c(1,2,1,2),#边缘距离
#cols=c("red","yellow","blue","purple"),#可自定义颜色
alpha=0.5#颜色透明度,[0,1]
)
小编总结
R语言这么强大的绘图功能你咋能不知道捏,希望这几个R包帮你绘制出“内外兼修”的高质量图片。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法