R绘制维恩图 —— ggvenn

韦恩图,Venn diagram,常用图的一种,用来展示集合之间的特异性和共同性。现在有很多在线的网站都可以绘制,但是R来画也方便,其中ggvenn是基于ggplot2的专门绘制韦恩图的R包。

官方网站:
https://github.com/yanlinlin82/ggvenn

1.安装

ggvenn在CRAN上,直接用Install.packages就可以完成安装:

> install.packages("ggvenn")
> library(ggvenn)

2.基础用法

ggvenn支持list和data.frame两种数据格式。这里以三个基因文件为例:

读取三个基因文件:

> set1<-read.csv("gene_a.csv")
> set2<-read.csv("gene_b.csv")
> set3<-read.csv("gene_c.csv")

提取每个文件的基因id,创建list:

> dat <- list( A = set1$gene_id,  B = set2$gene_id, C = set3$gene_id)

绘图:

> ggvenn(dat)

绘制部分list:

> ggvenn(dat, c("A", "B")) 

3.图形美化

  • 填充
    fill_color:填充颜色
    fill_alpha:填充透明度
  • 边框
    stroke_color:边框颜色
    stroke_alpha:边框透明度
    stroke_size:边框粗细
    stroke_linetype:边框线的类型
  • 集合名
    set_name_color:集合名颜色
    set_name_size:集合名字号
  • 集合内文本
    text_color:文本颜色
    text_size:文本字号
  • 百分比
    show_percentage:TRUE or FALSE
> ggvenn(dat,show_percentage = T,
  stroke_color = "white",
  stroke_size = 0.5,
  fill_color = c("#E41A1C","#1E90FF","#FF8C00"),
  set_name_color =c("#E41A1C","#1E90FF","#FF8C00"), 
  set_name_size = 15,text_size=6)

4.提取交集部分并输出

> A_B <- as.data.frame(intersect(set1$gene_id, set2$gene_id))
> write.csv(A_B,"A_B_common_gene.csv",row.names = F)

引用转载请注明出处,如有错误敬请指出。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容