yanlinlin82 / Ggvenn
Licence: other
Venn Diagram by ggplot2, with really easy-to-use API.
Stars: ✭ 72
Programming Languages
r
7636 projects
Labels
Projects that are alternatives of or similar to Ggvenn
Slop
Simple Lightweight Option Parsing - ✨ new contributors welcome ✨
Stars: ✭ 1,067 (+1381.94%)
Mutual labels: easy-to-use
Ggthemes
Additional themes, scales, and geoms for ggplot2
Stars: ✭ 1,107 (+1437.5%)
Mutual labels: ggplot2
Colormap
R package to generate colors from a list of 44 pre-defined palettes
Stars: ✭ 55 (-23.61%)
Mutual labels: ggplot2
Deepsleepscheduler
DeepSleepScheduler is a lightweight, cooperative task scheduler library with configurable sleep and task supervision.
Stars: ✭ 59 (-18.06%)
Mutual labels: easy-to-use
Korra
A quick and simple encrypted file store for easy sharing within your organisation
Stars: ✭ 46 (-36.11%)
Mutual labels: easy-to-use
Eyebrows
An eyebrows gradient color animation for android.
Stars: ✭ 49 (-31.94%)
Mutual labels: easy-to-use
Ezxss
ezXSS is an easy way for penetration testers and bug bounty hunters to test (blind) Cross Site Scripting.
Stars: ✭ 1,022 (+1319.44%)
Mutual labels: easy-to-use
Vulkan2drenderer
Easy to use 2D rendering engine using Vulkan API as backend.
Stars: ✭ 60 (-16.67%)
Mutual labels: easy-to-use
Nat
nat - the 'ls' replacement you never knew you needed
Stars: ✭ 1,129 (+1468.06%)
Mutual labels: easy-to-use
ggvenn
Venn Diagram by ggplot2, with really easy-to-use API. This package is inspired by Venny
Installation
if (!require(devtools)) install.packages("devtools")
devtools::install_github("yanlinlin82/ggvenn")
Quick Start
This package supports both list
and data.frame
type data as input.
For list
data (each element is a set):
library(ggvenn)
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")) # draw two-set venn
ggvenn(a, c("Set 1", "Set 2", "Set 3")) # draw three-set venn
ggvenn(a) # without set names, the first 4 elements in list will be chose to draw four-set venn
For data.frame
data (each logical column is a set):
d <- tibble(value = c(1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13),
`Set 1` = c(T, F, T, T, F, T, F, T, F, F, F),
`Set 2` = c(T, F, F, T, F, F, F, T, F, F, T),
`Set 3` = c(T, T, F, F, F, F, T, T, F, F, F),
`Set 4` = c(F, F, F, F, T, T, F, F, T, T, F))
ggvenn(d, c("Set 1", "Set 2")) # draw two-set venn
ggvenn(d, c("Set 1", "Set 2", "Set 3")) # draw three-set venn
ggvenn(d) # without set names, the first 4 logical column in data.frame will be chose to draw four-set venn
For data.frame
data, there is also another way to plot in ggplot grammar:
# draw two-set venn (use A, B in aes)
ggplot(d, aes(A = `Set 1`, B = `Set 2`)) +
geom_venn() + theme_void() + coord_fixed()
# draw three-set venn (use A, B, C in aes)
ggplot(d, aes(A = `Set 1`, B = `Set 2`, C = `Set 3`)) +
geom_venn() + theme_void() + coord_fixed()
# draw four-set venn (use A, B, C, D in aes)
ggplot(d, aes(A = `Set 1`, B = `Set 2`, C = `Set 3`, D = `Set 4`)) +
geom_venn() + theme_void() + coord_fixed()
Screenshots
More Options
There are more options for customizing the venn diagram.
-
Tune the color and size
For filling:
-
fill_color
- default is c("blue", "yellow", "green", "red") -
fill_alpha
- default is 0.5
For stroke:
-
stroke_color
- default is "black" -
stroke_alpha
- default is 1 -
stroke_size
- default is 1 -
stroke_linetype
- default is "solid"
For set name:
-
set_name_color
- default is "black" -
set_name_size
- default is 6
For text:
-
text_color
- default is "black" -
text_size
- default is 4
All parameters above could be used in both
ggvenn()
andgeom_venn()
.For example:
a <- list(A = 1:4, B = c(1,3,5)) ggvenn(a, stroke_linetype = 2, stroke_size = 0.5, set_name_color = "red", set_name_size = 15, fill_color = c("pink", "gold"))
-
-
Show elements
-
show_elements
- default is FALSE -
label_sep
- text used to concatenate elements, default is ","
For example:
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
-
-
Hide percentage
-
show_percentage
- default is TRUE
For example:
a <- list(A = 1:5, B = 1:2) ggvenn(a, show_percentage = FALSE)
-
-
Change digits of percentage
-
digits
- default is 1
For example:
a <- list(A = 1:5, B = 1:2) ggvenn(a, digits = 2)
-
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].