R语言绘图包05--韦恩图的绘制:ggvenn和VennDiagram

Python021

R语言绘图包05--韦恩图的绘制:ggvenn和VennDiagram,第1张

R语言绘图包系列:

这个包支持列表或数据框的数据作为输入

1.4.1 美化颜色和大小

颜色填充参数:

fill_color - 默认是 c("blue", "yellow", "green", "red")

fill_alpha - 默认是 0.5

边线设置参数:

stroke_color - 默认是 "black"

stroke_alpha - 默认是 1

stroke_size - 默认是 1

stroke_linetype - 默认是 "solid"

集合名字设置:

set_name_color - 默认是 "black"

set_name_size - 默认是 6

图形中字体设置:

text_color - 默认是 "black"

text_size - 默认是 4

以上所有的参数都可以用于 ggvenn() 和 geom_venn()

1.4.2 展示元素

show_elements - 默认是 FALSE

label_sep - text used to concatenate elements, default is ","

1.4.3 隐藏百分比,改变百分比的小数点位数

show_percentage - 默认是TRUE

digits - 默认是 1

参数:

VennDiagram函数包最大能绘制5个数据集合的韦恩图。

参考:

https://github.com/yanlinlin82/ggvenn

R语言画维恩图--ggvenn

venn.diagram函数文档

The R Graph Gallery绘图教程

https://cloud.tencent.com/developer/article/1675092

https://www.jianshu.com/p/f858521828a5

韦恩图(Venn plot),又称文氏图,是英国的哲学家和数学家约翰·维恩(John Venn)在1881年发明的,主要是用于展示在不同的事物群组(集合)之间的数学或逻辑联系,尤其适合用来表示集合(或)类之间的“大致关系”,它也常常被用来帮助推导(或理解推导过程)关于集合运算(或类运算)的一些规律。在我们常用的领域,简单来说就是多个集合之间取交集。

绘制韦恩图有很多方式,R,Python,Perl等,这里主要是用R来展示;在R语言中,绘制venn图有很多包可以实现:Venn, Vennplot, VennDiagram, VennDetail, ggvenn,gplots等。

此文主要展示一下用VennDiagram包绘制高纬度的韦恩图。

这样一个简单的GUOFUYASEWANG(国服亚瑟王)的韦恩图就画出来,通过参数给他加点颜色,美观一下。

增加配色之后好看了不少。

除了用R绘制韦恩图,还可以用网站实现。 http://www.interactivenn.net/ 可以绘制2-6维的韦恩图,不需要学会R也能绘制韦恩图。同学们可以自行探索。

有时候自己需要取交集的数据集太多,韦恩图满足不了,可以采用UpSetplot,它可以将交集数目通过柱状图的方式呈现。以UpSetR包里的movies文件做示例:

这是一个3883行,21列的数据集,包含了1995上映的电影具体情况(如Action是否是运动电影,0表示不是运动电影,1表示是运动电影,以此类推)

该图中 黑色 表示该位置有数据, 灰色 的点表示没有, 不同点连线 表示存在 交集 , 不同 柱状图 表示不同的 数目

Hoang的地址: https://www.jianshu.com/u/1fd4ff43abdc

这个叫heatmap. library(gplots)里有个函数叫heatmap.2专门画这种图。 但你这张不是标准的heatmap,要调整边框大小单元大小,不对行和列作聚类分析,颜色也得改。