主讲老师第二十六课:Venn 图绘制
韦恩图是用来展示多个不同数据集之间交集和差异的一种可视化方法,而且,不管是生信分析,还是基础相关研究,韦恩图都是一种简便而又常见的展示方法,目前,除了在线网站工具绘制方法外,在 R 语言中常用的包括 VennDiagram 包,ggvenn 包,ggVennDiagram包等方式。下面,我们一起来看一下如何使用这几种方式分别来绘制韦恩图。
1.基于 VennDiagram 包绘制韦恩图
首先,我们来看下如何使用 VennDiagram 包绘制 Venn 图。
1.1 安装和加载 R 包
1.2 绘制韦恩图
关于 VennDiagram 包的使用,可以分成两种使用情况,其中,第一种情况是已知各个数据集的个数以及重叠的个数,第二种是已知每个数据集内的内容。
1.2.1 已知各个数据集的个数以及重叠的个数
如果已知数据集 A(set_A)包含 100 个数据量,数据集 B(set_B)包含 50 个数据量,其中重叠的数量为 20 个,随后使用 draw.pairwise.venn() 函数进行绘图。
draw.pairwise.venn() 函数主要用于两个数据集的韦恩图。下面我们对这个结果图进一步进行美化。
其中,关于每个参数的含义都备注在代码中了。
1.2.2 已知各个数据集的内容绘制韦恩图
接着,我们来看下第二种情况的绘制方法。
在绘图之前,我们先使用 sample()函数从 1 到 100 中随机选取一定数量的数据,从而生成四个不同的数据集,以进行后续的韦恩图绘制,接着,我们来使用 venn.diagram()函数来绘制四维数据的韦恩图。
结果直接在当前文件夹下输出为 tiff 格式的文件。
2.基于 ggvenn 包绘制韦恩图
2.1 安装和加载 R 包
由于 ggvenn 包保存在 Github 网站上,因此我们需要借助 devtools::install_github() 来进行安装。
2.2 绘制韦恩图
ggvenn 包可以绘制 2 到 4 组数据组成的韦恩图,其中输入数据可以整理成数据框或者列表格式。
与 VennDiagram 包不同的是,ggvenn 包可以自动填充默认颜色,并且默认输出百分比,输出的图像可以直接用于发表的韦恩图,个人感觉还是十分不错的。当然,我们也可以对其中的参数进行修改,包括图像的填充颜色等方面。
这里呢提供可供修改的参数内容,大家可以自行尝试使用。
3.基于 ggVennDiagram 包绘制韦恩图
3.1 安装和加载 R 包
关于 ggVennDiagram 包的安装,我们可以通过 install.packages() 函数来进行安装,当然也可以从Github 上下载安装最新的版本
3.2 绘制韦恩图
ggVennDiagram 将每个区域的填充色映射为数量,使我们可以直观地观察不同部分之间的差异。那么,什么叫做填充色映射为数量呢?先来看看绘图的效果便知。
可以看到,ggVennDiagram 包可以直接根据每格的数量,赋予颜色的不同深浅,颜色越红代表数量越高,是不是觉得格调瞬间就高了很多呢?
当然,如果对颜色不满意的话,我们也可以使用 ggplot2 包的 scale_fill_gradient() 函数进行修改,比如对其赋值,低的颜色为“blue”,高的“red”。 好啦,关于 Venn 图的绘制就先介绍这三种常用的方法,大家根据自己的喜好,选择其中一种即可。