前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggvenn画韦恩图

ggvenn画韦恩图

作者头像
医学和生信笔记
发布2022-11-15 11:27:37
1.2K1
发布2022-11-15 11:27:37
举报
文章被收录于专栏:医学和生信笔记

韦恩图的画法实在是太多了,今天再介绍一个ggvenn,之前介绍过同类型的ggVenndiagram,但是对于边框颜色的更改不友好还介绍过一个非ggplot语法的venndiagram

安装

代码语言:javascript
复制
# 2选1
install.packages("ggvenn") 

if (!require(devtools)) install.packages("devtools")
devtools::install_github("yanlinlin82/ggvenn") 

使用

支持数据框和列表格式的输入数据。

列表

代码语言:javascript
复制
library(ggvenn)
代码语言:javascript
复制
## Warning: package 'ggvenn' was built under R version 4.2.1
代码语言:javascript
复制
## Loading required package: dplyr
代码语言:javascript
复制
## 
## Attaching package: 'dplyr'
代码语言:javascript
复制
## The following objects are masked from 'package:stats':
## 
##     filter, lag
代码语言:javascript
复制
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
代码语言:javascript
复制
## Loading required package: grid
代码语言:javascript
复制
## Loading required package: ggplot2
代码语言:javascript
复制
a <- list(`Set 1` = c(1, 3, 5, 7, 9),
          `Set 2` = c(1, 5, 9, 13),
          `Set 3` = c(1, 2, 8, 9),
          `Set 4` = c(6, 7, 10, 12))

两个集合:

代码语言:javascript
复制
ggvenn(a, c("Set 1", "Set 2"))

plot of chunk unnamed-chunk-3

三个集合:

代码语言:javascript
复制
ggvenn(a, c("Set 1", "Set 2", "Set 3")) 

plot of chunk unnamed-chunk-4

不写名字会自动选前4个集合:

代码语言:javascript
复制
ggvenn(a) 

plot of chunk unnamed-chunk-5

数据框形式

代码语言:javascript
复制
d <- tibble(value   = c(1,     2,     3,     5,     6,     7,     8,     9),
            `Set 1` = c(TRUE,  FALSE, TRUE,  TRUE,  FALSE, TRUE,  FALSE, TRUE),
            `Set 2` = c(TRUE,  FALSE, FALSE, TRUE,  FALSE, FALSE, FALSE, TRUE),
            `Set 3` = c(TRUE,  TRUE,  FALSE, FALSE, FALSE, FALSE, TRUE,  TRUE),
            `Set 4` = c(FALSE, FALSE, FALSE, FALSE, TRUE,  TRUE,  FALSE, FALSE))

ggvenn(d) # 不写名字也是默认选前4个集合

plot of chunk unnamed-chunk-6

对于tibble类型的数据还可以用ggplot2来画,data.frame的不行哦~

代码语言:javascript
复制
ggplot(d, aes(A = `Set 1`, B = `Set 2`, C = `Set 3`, D = `Set 4`)) +
  geom_venn() + theme_void() + coord_fixed()

plot of chunk unnamed-chunk-7

细节修改

  • 填充色
    • fill_color:填充色,默认是"blue", "yellow", "green", "red"
    • fill_alpha:填充透明度,默认0.5
  • 边框色
    • stroke_color:边框色,默认黑色
    • stroke_alpha:边框透明度,默认1
    • stroke_size:边框粗细,默认1
    • stroke_linetype:边框线的类型默认solid
  • 集合名字
    • set_name_color:集合名颜色,默认black
    • set_name_size:集合名字号,默认6
  • 集合内文本
    • text_color:文本颜色,默认black
    • text_size:文本字号,默认4
  • 百分比
    • show_percentage:TRUE or FALSE
  • 显示元素
    • show_elements:显示集合内元素,默认FALSE
    • label_sep:元素分隔符,默认是,
  • 小数点位数
    • digits:默认是1
代码语言:javascript
复制
a <- list(A = c("apple", "pear", "peach"),
          B = c("apple", "lemon"))
ggvenn(a, show_elements = TRUE)

plot of chunk unnamed-chunk-8

代码语言:javascript
复制
ggvenn(a, show_elements = TRUE, label_sep = "\n")  # show elements in line

plot of chunk unnamed-chunk-8

简单方便,貌似比ggVennDiagram好用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 医学和生信笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 使用
    • 列表
      • 数据框形式
        • 细节修改
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档