R语言绘图学习教程VennDiagram绘制venn

目录
  • 导读
  • 一、模拟输入
  • 二、venn基础图
  • 三、个性化参数调整
  • 四、保存

导读

使用VennDiagram函数包中的venn.diagram函数绘制三数据集venn图。

安装依赖包:

# venn图
install.packages("VennDiagram")
library(VennDiagram)

一、模拟输入

产生3个含200字符串的数据集

set1 <- paste(rep("word_" , 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
set2 <- paste(rep("word_" , 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
set3 <- paste(rep("word_" , 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
set4 <- paste(rep("word_" , 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
set5 <- paste(rep("word_" , 200) , sample(c(1:1000) , 200 , replace=F) , sep="")

sample(x, size, replace=F) # 不放回抽样

二、venn基础图

1 两个圈

venn.diagram(
  x = list(set1, set2),
  category.names = c("Set 1" , "Set 2 "),
  filename = 'venn.png',
  output=TRUE
)

2 三个圈

venn.diagram(
  x = list(set1, set2, set3),
  category.names = c("Set 1" , "Set 2 " , "Set 3"),
  filename = 'venn.png',
  output=TRUE
)

3 四个圈

venn.diagram(
  x = list(set1, set2, set3, set4),
  category.names = c("Set 1" , "Set 2 " , "Set 3", "Set 4"),
  filename = 'venn.png',
  output=TRUE
)

4 五个圈

venn.diagram(
  x = list(set1, set2, set3, set4, set5),
  category.names = c("Set 1" , "Set 2 " , "Set 3", "Set 4", "Set 5"),
  filename = 'venn.png',
  output=TRUE
)

三、个性化参数调整

library(RColorBrewer)
color <- brewer.pal(3, "Set3")
# Chart
venn.diagram(
        x = list(set1, set2, set3),
        category.names = c("Set 1" , "Set 2 " , "Set 3"),
        filename = 'venn2.png',
        output=TRUE,
        # 输出
        imagetype="png" ,  # 类型(tiff png svg)
        #height = 1000 ,   # 高度
        #width = 1000 ,   # 宽度
        resolution = 400,  # 分辨率
        compression = "lzw",  # 压缩算法
        # 圈
        lwd = 5,  # 圈线条粗细 1 2 3 4 5
        lty = 1,  # 线条类型, 1 实线, 2 虚线, blank 无线条
        fill = color,  # 填充色
        col = c("red", 'green', 'blue'),  # 线条色
        # 数字 number
        cex = 2,  # 数字大小
        fontface = "bold",  # 加粗
        fontfamily = "sans",  # 字体
        # 标签 category
        cat.cex = 2,  # 字体大小
        cat.col = c("red", 'green', 'blue'),  # 字体色
        cat.fontface = "bold",  # 加粗
        cat.default.pos = "outer",  # 位置, outer 内 text 外
        cat.pos = c(-27, 27, 135),  # 位置,用圆的度数
        cat.dist = c(0.055, 0.055, 0.085),  # 位置,离圆的距离
        cat.fontfamily = "sans",  # 字体
        rotation = 1  # 1 2 3 旋转确定大打头数据集
)

四、保存

1 绘图待保存

library(RColorBrewer)
p = venn.diagram(
  x = list(set1, set2, set3, set4, set5),
  category.names = c("Set 1" , "Set 2 " , "Set 3", "Set 4", "Set 5"),
  # filename = 'venn.png',
  filename = NULL,
  output=TRUE,
  fill = brewer.pal(5, "Set2"),
  col = brewer.pal(5, "Set3"),
  fontface = "bold",
  cat.col = brewer.pal(5, "Set3"),
  cat.fontface = "bold"
)

2 保存为PDF

pdf("venn-pdf.pdf")
grid.draw(p)
dev.off()

3 保存为PNG

png("venn-png.png")
grid.draw(p)
dev.off()

更多参数:

col = NA  # 边框设为无色

参考:https://www.r-graph-gallery.com/14-venn-diagramm.html

venn网页工具:http://bioinformatics.psb.ugent.be/webtools/Venn/v

enn.diagram函数文档: https://www.rdocumentation.org/packages/VennDiagram/versions/1.6.20/topics/venn.diagram

The R Graph Gallery绘图教程:https://www.r-graph-gallery.com/index.html

以上就是R语言绘图学习教程VennDiagram绘制venn的详细内容,更多关于R语言VennDiagram绘制venn的资料请关注我们其它相关文章!

(0)

相关推荐

  • R语言数据可视化绘图Lollipop chart棒棒糖图

    目录 Step1.绘图数据的准备 Step2.绘图数据的读取 Step3.绘图所需package的调用 Step4.因子水平排序 Step5.绘图 今天给大家分享的是Lollipop chart(棒棒糖图)的画法.棒棒糖图的用途跟条形图的用法类似,只是看起来更加美观一些,图表形式更加丰富(数据不够.拿图来凑,啥也不能阻止我优秀 ). 为了跟之前画的柱状图更好的比较,今天画图使用了相同的数据. 作图思路:棒棒糖图实际上是在散点图的基础上增加了辅助线. 不过在作图过程中还是遇到了和之前一样的问题,数

  • R语言数据可视化绘图Dot plot点图画法示例

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3.绘图所需package的安装.调用 Step4.绘图 添加平均值 添加误差线 今天要给大家介绍的是点图(Dot plot),点图展示的数据比较简单,但胜在好看啊. 作图数据如下: Step1. 绘图数据的准备 首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式. Step2. 绘图数据的读取 data<-read.csv("your file path", hea

  • R语言数据可视化绘图bar chart条形图实现示例

    时光飞逝,岁月如梭,转眼又是一年过去了,本小仙怎么还是一事无成呢! 转念一想,这种事也不是一次两次了,再多一个又何妨,哈哈! 回归正题,今天就给大家介绍下直方图(histogram)的“好兄弟”——条形图(bar chart).假设小仙同学现在要帮一家书店用图形展示2018年最受大家欢迎的书目,数据如下图. 条形图画出来还挺好看,可是跟小仙想象中的可不一样.明明我的数据是按照销量从高到低排列的,为什么画出来却是按照字母顺序排列的呢? 使用了对因子进行排序的函数reorder()之后,就变成了下图

  • R语言绘图数据可视化Ridgeline plot山脊图画法

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3. 绘图所需package的安装.调用 Step4. 绘图 调整透明度 更改顺序 更改线条形状 今天给大家介绍一下Ridgeline plot(山脊图)的画法. 作图数据如下: Step1. 绘图数据的准备 首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式. Step2. 绘图数据的读取 data<-read.csv("your file path", heade

  • R语言绘图数据可视化pie chart饼图

    目录 Step 1. 绘图数据的准备 Step2. 绘图数据的读取 Step3.绘图所需package的调用 Step4. 饼图百分比标签准备 Step5.绘图 今天要给大家介绍的Pie chart(饼图),本来是不打算写这个的,因为用Excel画饼图实在是太方便了.本着能少动一下是一下的懒人原则,是不打算用R画的,再说,本小仙不是掌握了R作图大器ggplot2么,实在需要用的时候我就一句ggplot()+geom_pie()不就搞定了. 结果后来用Excel画饼图调整颜色.大小的时候着实有些崩

  • R语言绘图技巧导出高清图方法

    上一次小仙同学分享了 facet violin plot的画法,最后还卖了个关子,给大家留了个悬念.科研文章的插图通常要求比较高,不仅要精准地展示出数据,选对图表类型,还需要简洁优美(?翻译成人话就是,同样的数据能不能多“卖”几分,就看图够不够高大上啦).小仙同学在画图的时候遇到的一个问题就是,RStudio直接导出的图,怎么这么不清晰?为什么教程里别人的图都那么清晰呢?这时候可能就有同学就会说,这还不简单,直接导出矢量图不就可以了吗? 我们来看下,RStudio可以导出的图片格式有这么几种,小

  • R语言绘图学习教程VennDiagram绘制venn

    目录 导读 一.模拟输入 二.venn基础图 三.个性化参数调整 四.保存 导读 使用VennDiagram函数包中的venn.diagram函数绘制三数据集venn图. 安装依赖包: # venn图 install.packages("VennDiagram") library(VennDiagram) 一.模拟输入 产生3个含200字符串的数据集 set1 <- paste(rep("word_" , 200) , sample(c(1:1000) , 2

  • R语言编程学习绘制动态图实现示例

    在讨论级数时,可能需要比对前 n n n项和的变化情况,而随着 n n n的递增,通过动态图来反映这种变化会更加直观,而通过R语言绘制动态图也算是一门不那么初级的技术,所以在此添加一节,补充一下R语言的绘图知识. 绘图需要用到ggplot2,为多张图加上时间轴则需要用到gganimate,为了让这些动态图片被渲染,需要用到av.此外,ggplot2绘图需要输入的数据格式为tibble. install.packages("ggplot2") install.packages("

  • R语言绘图数据可视化pie chart饼图

    目录 Step 1. 绘图数据的准备 Step2. 绘图数据的读取 Step3.绘图所需package的调用 Step4. 饼图百分比标签准备 Step5.绘图 今天要给大家介绍的Pie chart(饼图),本来是不打算写这个的,因为用Excel画饼图实在是太方便了.本着能少动一下是一下的懒人原则,是不打算用R画的,再说,本小仙不是掌握了R作图大器ggplot2么,实在需要用的时候我就一句ggplot()+geom_pie()不就搞定了. 结果后来用Excel画饼图调整颜色.大小的时候着实有些崩

  • R语言绘图如何支持中文

    不同系统的字体库目录: Linux 一般在 /usr/share/fonts 下,我们可以使用 fc-list 命令查看: # fc-list /usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book /usr/share/fonts/t

  • R语言绘图布局实例讲解

    在R语言中,par 函数可以设置图形边距,其中oma 参数设置outer margin, mar 参数设置margin, 这些边距有什么不同呢,通过box函数可以直观的看到 box 默认在当前图形绘制边框,第一个参数which = "plot", 所以在当前图形上绘制边框 which 的值除了plot 之外,还可以选择 figure, inner, outer 接下来分别用不同的值测试一下,为了区分,为不同的边框设置不同的颜色和类型,代码如下: attach(mtcars) plot(

  • linux命令行下使用R语言绘图实例讲解

    使用系统:centos 6.4 64bit 在R语言中可以使用png()等函数生成图片,例如: png("aa.png")可以生成图片. 但是如果你是通过shell远程连接到系统上,可能会碰到如下错误: > png("aa.png") 错误于.External2(C_X11, paste("png::", filename, sep = ""), g$width,  :    无法打开PNG设备 此外: 警告信息: In

  • R语言绘图时输出希腊字符上下标及数学公式实现方法

    目录 希腊字母 上下标 paste 一个复杂的例子 进阶 数学公式 通常在我们写论文时,所需要的统计图是非常严谨的,里面的希腊字符与上下脚标都必须要严格书写.因此在使用R绘图时,如何在我们目标图中使用希腊字符.上标.下标及一些数学公式呢?在本博客中我们会进行详细的说明. 后面我们都将以一个最简单的绘图为例,只是将其标题进行修改. 希腊字母 使用希腊字符.上标.下标及数学公式,都需要利用一个函数:expression(),具体使用方式如下: plot(cars) title(main = expr

  • R语言绘图公式与变量对象混合拼接实现方法

    当我们在R中进行绘图时,如果涉及到数学或统计公式的展现,可以使用函数:expression(),并且与 paste() 结合可以非常轻松的展现出自己想要展示的公式.详细的相关内容可参考: R进行绘图时输出希腊字符.上标.下标及数学公式 但这样做会遇到一个问题,在我们想批量产生大量含有不同变量值的标题时,如果遇到变量与公式的混合输出,就没有办法将变量里面的值进行输出了(使用 do.call() 等函数均不行). 举个栗子,若 m <- 10000,n <- 2000,我们如何让这两个变量直接显示

随机推荐