#' Plots venn diagram from three samples
#'
#' @param a vector of names
#' @param b vector of names
#' @param names optional names vector
#'
#' @return
#' @export
#'
#' @importFrom eulerr euler
#'
plot_venn2 <- function(a, b, names) {
if(!hasArg(a)) {
a <- getData()
}
if(!hasArg(b)) {
b <- getData()
}
if(ok("Would you like to add names?")) {
names <- c()
while(length(names) != 2) {
names <- strsplit(readline("Please indicate names divided by a semicolon (;): "), split = ";")[[1]]
}
}
else {
names <- c("A", "B")
}
A <- length(setdiff(a, b))
B <- length(setdiff(b, a))
AB <- length(intersect(a, b))
if(!hasArg(names)) {
print(plot(x = euler(c("A" = A, "B" = B, "A&B" = AB, "D" = 100)),
fills = list(fill = c("white", "white"), alpha = 0),
edges = c("blue", "blue"),
quantities = list(type = "counts")))
}
else {
print(plot(x = euler(c("A" = A, "B" = B, "A&B" = AB, "D" = 100)),
fills = list(fill = c("white", "white"), alpha = 0),
edges = c("blue", "blue"),
labels = names,
quantities = list(type = "counts")))
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.