其他
ggvenn画韦恩图
💡专注R语言在🩺生物医学中的使用
韦恩图的画法实在是太多了,今天再介绍一个ggvenn
,之前介绍过同类型的ggVenndiagram
,但是对于边框颜色的更改不友好还介绍过一个非ggplot
语法的venndiagram
。
安装
# 2选1
install.packages("ggvenn")
if (!require(devtools)) install.packages("devtools")
devtools::install_github("yanlinlin82/ggvenn")
使用
支持数据框和列表格式的输入数据。
列表
library(ggvenn)
## Warning: package 'ggvenn' was built under R version 4.2.1
## Loading required package: dplyr
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## Loading required package: grid
## Loading required package: ggplot2
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))
两个集合:
ggvenn(a, c("Set 1", "Set 2"))
三个集合:
ggvenn(a, c("Set 1", "Set 2", "Set 3"))
不写名字会自动选前4个集合:
ggvenn(a)
数据框形式
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个集合
对于tibble
类型的数据还可以用ggplot2
来画,data.frame
的不行哦~
ggplot(d, aes(A = `Set 1`, B = `Set 2`, C = `Set 3`, D = `Set 4`)) +
geom_venn() + theme_void() + coord_fixed()
细节修改
填充色 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
a <- list(A = c("apple", "pear", "peach"),
B = c("apple", "lemon"))
ggvenn(a, show_elements = TRUE)
ggvenn(a, show_elements = TRUE, label_sep = "\n") # show elements in line
简单方便,貌似比ggVennDiagram
好用。
获取更多信息,欢迎加入🐧QQ交流群:613637742
“医学和生信笔记,专注R语言在临床医学中的使用、R语言数据分析和可视化。主要分享R语言做医学统计学、meta分析、网络药理学、临床预测模型、机器学习、生物信息学等。
往期回顾
简单的韦恩图画法
ggplot2版本的韦恩图画法
韦恩图进阶!upset plot 01
韦恩图进阶!complexheatmap包画upset plot
韦恩图进阶!ggupset版upset plot
迄今为止最强大的upset plot R包,没有之一!