R语言绘制维恩图ggvenn示例详解

目录
  • 引言
    • 1.安装
    • 2.基础用法
    • 3.图形美化
    • 4.提取交集部分并输出

引言

韦恩图,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)

以上就是R语言绘制维恩图ggvenn示例详解的详细内容,更多关于R绘制维恩图ggvenn的资料请关注我们其它相关文章!

(0)

相关推荐

  • R语言绘制小提琴图violin plot实现示例

    目录 Step1.绘图数据的准备 Step2.绘图数据的读取 Step3.绘图所需package的安装.调用 Step4.绘图 Step5.美化 即便小仙同学决定学习R语言来提升自己作图的“逼格”的时候,心中还有有些疑虑的(嘿嘿,我这么懒,可不愿意做无用功了?).仔细想了想,貌似又找到了两个学习R的理由. 一是R可以帮助我们避免重复劳动,实现“一劳永逸”的终极梦想.尽管非常不想承认这一事实,在科研的过程中,小仙同学制造出了大量“无效”的数据(sign…),但也不得不“绞尽脑汁”.“竭尽全力”地进

  • R语言绘制Bubble Matrix气泡矩阵图

    目录 Step1.绘图数据的准备 Step2.绘图数据的读取 Step3.绘图所需package的安装.调用 Step4.绘图 Step5.美化 又是一个好久不见,朋友们你们最近还好吗!最近小仙同学刚经历了人生中的一个重要的里程碑——延毕.在预料之中.又如期而至的两个字,小仙心里也是很复杂,可终究跟“毕业”二字沾了边,就当它是好事啦! 今天要给大家介绍的是气泡矩阵图,要模仿的图形如下.小仙同学一直有一个困惑:什么样的数据应该画什么类型的图,才能精确地展示数据表达出自己的意思?对于气泡矩阵图,小仙

  • R语言数可视化Split violin plot小提琴图绘制方法

    最近小仙同学在好几篇文献里看到了这种小提琴图,暂时就肤浅地认为这是作者为了更好地比较对照组与实验组的差别,所以将同一个基因的小提琴图各画了一半,放在一起.为了跟上可视化的潮流,小仙也来尝试画一下这个没查到正经名字的图. Step1. 绘图数据的准备 首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式.作图数据格式如下: Step2. 绘图数据的读取 data<-read.csv("your file path", header = T) #

  • R语言绘制line plot线图示例详解

    目录 Step1.绘图数据的准备 Step2.绘图数据的读取 Step3.绘图所需package的安装.调用 Step4.绘图 最近小仙同学在Nature Cell Biology上看到了这样一张图,很常见的折线图画成这个样子——原来很常见的图标类型也可以“焕发新春”! 今天小仙同学就尝试用R复刻一张类似的折线图. Step1. 绘图数据的准备 首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式.数据的格式如下图:一列表示一种变量,最后一列是每一行的行名.

  • R语言两组变量特征相关关系热图绘制画法

    目录 准备数据 简单热图 只对列进行聚类 将相关系数显示在图上 在图上加上显著性标记 准备数据 两组变量的数据可以像下面这样处理,分别保存在两个csv文件中. > # 导入数据及数据预处理 > setwd("D:/weixin/") > rows <- read.csv("rows.csv") > cols <- read.csv("cols.csv") > str(rows) 'data.frame':

  • R语言绘制维恩图ggvenn示例详解

    目录 引言 1.安装 2.基础用法 3.图形美化 4.提取交集部分并输出 引言 韦恩图,Venn diagram,常用图的一种,用来展示集合之间的特异性和共同性.现在有很多在线的网站都可以绘制,但是R来画也方便,其中ggvenn是基于ggplot2的专门绘制韦恩图的R包. 官方网站:https://github.com/yanlinlin82/ggvenn 1.安装 ggvenn在CRAN上,直接用Install.packages就可以完成安装: > install.packages("g

  • R语言时间序列TAR阈值自回归模型示例详解

    为了方便起见,这些模型通常简称为TAR模型.这些模型捕获了线性时间序列模型无法捕获的行为,例如周期,幅度相关的频率和跳跃现象.Tong和Lim(1980)使用阈值模型表明,该模型能够发现黑子数据出现的不对称周期性行为. 一阶TAR模型的示例: σ是噪声标准偏差,Yt-1是阈值变量,r是阈值参数, {et}是具有零均值和单位方差的iid随机变量序列. 每个线性子模型都称为一个机制.上面是两个机制的模型. 考虑以下简单的一阶TAR模型: #低机制参数 i1 = 0.3 p1 = 0.5 s1 = 1

  • R语言编程重读微积分泰勒级数示例详解

    一 理解极限 二 微分学 泰勒级数 如果我是泰勒,我会把思考的起点建立在这样的一个等式上 那么接下来我们直观地感受一下Taylor级数时如何逐渐逼近某个函数的.简单起见,在此选择  sinx作为被拟合的函数. library(ggplot2) library(gganimate) library(av) library(tibble) x = seq(-pi,pi,0.1) n = length(x) xs = rep(x,11) ys = rep(sin(0),n) ts = rep(0,n)

  • R语言绘制折线图实例分析

    折线图是通过在它们之间绘制线段来连接一系列点的图. 这些点在它们的坐标(通常是x坐标)值之一中排序. 折线图通常用于识别数据中的趋势. R语言中的plot()函数用于创建折线图. 语法 在R语言中创建折线图的基本语法是 - plot(v,type,col,xlab,ylab) 以下是所使用的参数的描述 - v是包含数值的向量. 类型采用值"p"仅绘制点,"l"仅绘制线和"o"绘制点和线. xlab是x轴的标签. ylab是y轴的标签. main是

  • R语言绘制Vonoroi图

    deldir包绘制Voronoi图 #install.packages("deldir") library(deldir) # data set.seed(1) x <- runif(60) y <- runif(60) # Calculate Voronoi Tesselation and tiles tesselation <- deldir(x, y) tiles <- tile.list(tesselation) plot(tiles, pch = 19

  • 使用R语言绘制棒棒糖图火柴杆图教程

    目录 使用原生ggplot方法 1)生成数据 使用ggpubr包中的ggdotchart() 参考 使用原生ggplot方法 最容易也是最简单想到的方法是直接使用ggplot2包进行更新,这里需要使用ggplot本身的特性,通过图层叠加的方式,进行最终棒棒糖图的展现.(宽度极窄的柱状图配合散点图即可呈现) 1)生成数据 下面我们的展示均以此份数据为例: library(ggplot2) # Load data data("mtcars") dfm <- mtcars # Conv

  • R语言绘制尺子的实现示例

    本文使用基本的绘图命令plot.rect.segments.text绘制一把长10厘米的直尺.话不多说上教程. 1.定义基本单位 xcm <- 0.07 ycm <- 0.07 2.首先使用plot绘制一个空白画布 plot(0:1, 0:1, type = "n", axes = F, ann = F) 3.绘制一个灰色的底作为直尺的影子 rect(0 + 0.2*xcm,0 - 0.2*ycm,0.95 + 0.2*xcm,0.15 - 0.2*ycm, col=&qu

  • Python绘制惊艳的桑基图的示例详解

    目录 桑基图简介 什么是桑基图? 如何绘制桑基图? 桑基图绘图基础 调整节点位置和图表宽度 添加有意义的悬停标签 桑基图简介 很多时候,我们需要一种必须可视化数据如何在实体之间流动的情况.例如,以居民如何从一个国家迁移到另一个国家为例.这里演示了有多少居民从英格兰迁移到北爱尔兰.苏格兰和威尔士. 从这个 桑基图 (Sankey)可视化中可以明显看出,从England迁移到Wales的居民多于从Scotland或Northern Ireland迁移的居民. 什么是桑基图? 桑基图通常描绘 从一个实

  • R语言绘制Vonoroi图的完整代码

    deldir包绘制Voronoi图 #install.packages("deldir") library(deldir) # data set.seed(1) x <- runif(60) y <- runif(60) # Calculate Voronoi Tesselation and tiles tesselation <- deldir(x, y) tiles <- tile.list(tesselation) plot(tiles, pch = 19

  • Python绘制3D立体花朵示例详解

    目录 动态展示 导读 源码和详解 荷花 玫瑰花 桃花 月季 动态展示 这是一个动态图哦 导读 兄弟们可以收藏一下哦!情人节可以送出去,肥学找了几朵python写的花给封装好送给大家.不是多炫酷但是有足够的用心哦.别忘了点赞呀我也就不细说了,来吧展示! 源码和详解 荷花 def lotus(): fig = plt.figure(figsize=(10,7),facecolor='black',clear=True) ax = fig.gca(projection='3d') [x, t] = n

随机推荐