R语言 | 还在为绘制多个数据的维恩图而烦恼吗?

文摘   2024-10-14 21:00   中国香港  

一边学习,一边总结,一边分享!

由于微信改版,一直有同学反映。存在长时间接收不到公众号的推文。那么请跟随以下步骤,将小杜的生信筆記设置为星标,不错过每一条推文教程。

欢迎关注《小杜的生信笔记》!!

如何加入社群

小杜的生信笔记仅有微信社群

1. 微信群:付费社群。添加小杜好友,加友请知:加友须知!!,加入社群请查看小杜生笔记付费加友入群声明

入群声明

2. 小杜个人微信:若你有好的教程或想法,可添加小杜个人微信。值得注意的是,小杜个人微信并不支持免费咨询长时间咨询,但支持小问题2-3个免费咨询。

小杜微信:

知识星球:

2022年教程总汇

https://mp.weixin.qq.com/s/Lnl258WhbK2a8pRZFuIyVg

2023年教程总汇

https://mp.weixin.qq.com/s/wCTswNP8iHMNvu5GQauHdg

本期教程

Venn Plot


获得本期教程代码和数据,后台回复关键词:20240901

写在前面

对于维恩图的绘制教程,我们在前面分享过基于R语言绘制VennPlot图 | 可以绘制大于等于7个类别的码。但是,随着使用的R包的升级,我们绘制的维恩图会出现不显示数值的情况。

因此,这个教程的码,若是不做修改的话,就不能使用。

维恩图是我们日常分析中常用到的图形,使用的频率非常高(包括自己)。因此,我们今天再分享一篇制作维恩图的教程。此教程使用的R包也是很简单,内容非常丰富。

<<<>>>

Code

1. 加载所需的R包

#install.packages("ggVennDiagram")
# install.packages("devtools")
#devtools::install_github("gaospecial/ggVennDiagram")

library(ggVennDiagram)
library(ggplot2)

2. 加载数据

genes <- paste("gene",1:1000,sep="")
set.seed(20231214)
x <- list(A=sample(genes,300),
B=sample(genes,525),
C=sample(genes,440),
D=sample(genes,350))

x[1:5,1:5]
x <- list(A=sample(genes,300),
B=sample(genes,525),
C=sample(genes,440),
D=sample(genes,350),
E=sample(genes,200),
F=sample(genes,150),
G=sample(genes,100))

3. 参数设置

3.1 数值的显示方式

# 参数
"both”, “count”, “percent”, “none”

例子1:

ggVennDiagram(x[1:2],label = "both")

例子2:

ggVennDiagram(x[1:2],label = "count")

3.2 颜色的设置

使用scale_fill_distiller()函数添加颜色

颜色的选择

## 查看全部主题颜色,或是自己设置
RColorBrewer::display.brewer.all()

例子3:

ggVennDiagram(x[1:2],label = "both")+
scale_fill_distiller(palette = "Spectral",direction = 1)

3.3 线条的选择,使用edge_lty = 进行寻找,默认是实线,虚线参数为dashed

例子4:

ggVennDiagram(x[1:3], edge_lty = "dashed", edge_size = 1, label_alpha = 0)+
scale_fill_distiller(palette = "RdBu",direction = 1)

例子5:

2-7维恩图的绘制

##'@7维
ggVennDiagram(x[1:7],label = "count", label_alpha = 0)+
scale_fill_distiller(palette = "Accent",direction = 1)
ggsave("7_vennplot.jpg",width = 5, height = 4)
##'@6维
ggVennDiagram(x[1:6],label = "count", label_alpha = 0)+
scale_fill_distiller(palette = "RdBu",direction = 1)
ggsave("6_vennplot.jpg",width = 5, height = 4)
##'@5维
ggVennDiagram(x[1:5],label = "count", label_alpha = 0)+
scale_fill_distiller(palette = "RdBu",direction = 1)

ggsave("5_vennplot.jpg",width = 5, height = 4)

##'@4维
ggVennDiagram(x[1:4],label = "count", label_alpha = 0)+
scale_fill_distiller(palette = "RdBu",direction = 1)

ggsave("4_vennplot.jpg",width = 5, height = 4)
##'@3维
ggVennDiagram(x[1:3],label = "count", label_alpha = 0)+
scale_fill_distiller(palette = "RdBu",direction = 1)

ggsave("3_vennplot.jpg",width = 5, height = 4)


##'@2维
ggVennDiagram(x[1:2],label = "count", label_alpha = 0)+
scale_fill_distiller(palette = "Set3",direction = 1)

ggsave("2_vennplot.jpg",width = 5, height = 4)

更多的参数,可以自行查看ggVennDiagram包的参数。

若我们的教程对你有所帮助,请点赞+收藏+转发,这是对我们最大的支持。

往期部分文章

1. 最全WGCNA教程(替换数据即可出全部结果与图形)


2. 精美图形绘制教程

3. 转录组分析教程

4. 转录组下游分析

小杜的生信筆記 ,主要发表或收录生物信息学教程,以及基于R分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

RPython
人生苦短,R和Python。
 最新文章