ggVennDiagram
ggVennDiagram
permite crear diagramas de Venn en ggplot2. Necesitas pasar una lista de vectores que contengan tus datos a la función ggVennDiagram
como en el ejemplo siguiente. Ten en cuenta que los vectores de caracteres se transformarán a vectores numéricos.
# install.packages("ggVennDiagram")
library(ggVennDiagram)
# Lista de vectores
x <- list(A = 1:5, B = 2:7)
# Diagrama de Venn 2D
ggVennDiagram(x)
Diagrama de Venn 3D
Si pasas una lista de tres elementos tendrás un diagrama de Venn como el siguiente.
# install.packages("ggVennDiagram")
library(ggVennDiagram)
# Lista de vectores
x <- list(A = 1:5, B = 2:7, C = 5:10)
# Diagrama de Venn 3D
ggVennDiagram(x)
Diagrama de Venn 4D
También puedes pasar una lista de cuatro componentes diferentes. Si neecesitas añadir más revisa la documentación.
# install.packages("ggVennDiagram")
library(ggVennDiagram)
# Lista de vectores
x <- list(A = 1:5, B = 2:7, C = 5:10, D = 8:15)
# Diagrama de Venn 3D
ggVennDiagram(x)
Como ggVennDiagram
se basa en ggplot2 puedes añadir más capas o sobrescribir las que ya existen. Para cambiar los colores usa scale_fill_gradient
como en el ejemplo siguiente.
# install.packages("ggVennDiagram")
library(ggVennDiagram)
# install.packages("ggplot2")
library(ggplot2)
# Lista de vectores
x <- list(A = 1:5, B = 2:7, C = 5:10)
# Diagrama de Venn con colores personalizados
ggVennDiagram(x) +
scale_fill_gradient(low = "#F4FAFE", high = "#4981BF")
El borde también se puede personalizar pero haciendo uso del argumento color
. El ancho de línea y el estilo se pueden cambiar con lwd
y lty
, respectivamente.
# install.packages("ggVennDiagram")
library(ggVennDiagram)
# install.packages("ggplot2")
library(ggplot2)
# Lista de vectores
x <- list(A = 1:5, B = 2:7, C = 5:10)
# Diagrama de Venn con borde personalizado
ggVennDiagram(x, color = "black", lwd = 0.8, lty = 1) +
scale_fill_gradient(low = "#F4FAFE", high = "#4981BF")
Nombres de los grupos
Por defecto, la función usa los nombres de la lista para establecer los nombres de las categorías, pero puedes sobrescribirlos con category.names
.
# install.packages("ggVennDiagram")
library(ggVennDiagram)
# Lista de vectores
x <- list(A = 1:5, B = 2:7, C = 5:10)
# Diagrama de Venn con nombres personalizados
ggVennDiagram(x, category.names = c("Grupo 1",
"Grupo 2",
"Grupo 3"))
Etiquetas con porcentajes
Las etiquetas muestran los porcentajes y los conteos de los valores. Establece label = "percent"
para mostrar solo los porcentajes.
# install.packages("ggVennDiagram")
library(ggVennDiagram)
# Lista de vectores
x <- list(A = 1:5, B = 2:7, C = 5:10)
# Diagrama de Venn con porcentajes
ggVennDiagram(x,
label = "percent")
Etiquetas con la cuenta
Si prefieres mostrar solo el conteo establece label = "count"
.
# install.packages("ggVennDiagram")
library(ggVennDiagram)
# Lista de vectores
x <- list(A = 1:5, B = 2:7, C = 5:10)
# Diagrama de Venn con la cuenta de los valores
ggVennDiagram(x,
label = "count")
Eliminar las etiquetas
Es posible eliminar todas las etiquetas estableciendo label = NULL
.
# install.packages("ggVennDiagram")
library(ggVennDiagram)
# Lista de vectores
x <- list(A = 1:5, B = 2:7, C = 5:10)
# Diagrama de Venn sin etiquetas
ggVennDiagram(x,
label = NULL)
Transparencia de las etiquetas
Si instalas la versión en desarrollo del paquete desde GitHub tendrás un argumento adicional que permite modificar el grado de transparencia del fondo de las etiquetas.
# install.packages("devtools")
# devtools::install_github("gaospecial/ggVennDiagram")
library(ggVennDiagram)
# Lista de vectores
x <- list(A = 1:5, B = 2:7, C = 5:10)
# Transparencia de las etiquetas
ggVennDiagram(x,
label_alpha = 0)
La leyenda de los diagramas de Venn se pueden personalizar añadiendo más capas al gráfico. En el siguiente ejemplo estamos modificando el título de la leyenda y su posición.
# install.packages("ggVennDiagram")
library(ggVennDiagram)
# install.packages("ggplot2")
library(ggplot2)
# Lista de vectores
x <- list(A = 1:5, B = 2:7, C = 5:10)
# Diagrama de Venn con leyenda personalizada
ggVennDiagram(x) +
guides(fill = guide_legend(title = "Título")) +
theme(legend.title = element_text(color = "red"),
legend.position = "bottom")
Es posible eliminar la leyenda del diagrama estableciendo su posición a "none"
.
# install.packages("ggVennDiagram")
library(ggVennDiagram)
# install.packages("ggplot2")
library(ggplot2)
# Lista de vectores
x <- list(A = 1:5, B = 2:7, C = 5:10)
# Diagrama de Venn sin leyenda
ggVennDiagram(x, color = 1, lwd = 0.7) +
scale_fill_gradient(low = "#F4FAFE", high = "#4981BF") +
theme(legend.position = "none")
También te puede interesar