¿Cómo resaltar grupos con casco convexo en ggplot2 en R?

En este artículo, vamos a ver cómo resaltar grupos con el casco convexo en ggplot2 usando el lenguaje de programación R. 

El polígono de casco convexo se refiere a dibujar un cuadro delimitador de línea alrededor de los puntos más externos de cada grupo.

Crear diagrama de dispersión para demostración

Aquí usaremos el conjunto de datos del iris para trazar un diagrama de dispersión junto con dos grupos diferentes (Sepal.Length y Sepal.Width). Para trazar el diagrama de dispersión que usaremos, usaremos la función geom_point(). A continuación se incluye información breve sobre la función ggplot, geom_point().

Sintaxis: geom_point(tamaño, color, relleno, forma, trazo)

R

library(tidyverse)
 
# Define the scatterplot
plot <- ggplot(iris, aes(Sepal.Length,
                      Sepal.Width,
                      color = Species))+
geom_point(shape = 21)
 
# display plot
plot

Producción:

Resaltar grupos con casco convexo en ggplot2

Para dibujar un cuadro delimitador de línea alrededor de los puntos más externos de cada grupo, usaremos el método chull() con puntos de datos agrupados que calcula el subconjunto de puntos que se encuentran en el casco convexo del conjunto de puntos especificado.

Y para resaltar el casco convexo, podemos usar métodos geom_polygon() con conjuntos de datos de casco convexo.

Sintaxis: geom_polygon(datos, alfa, aes())

Parámetros:

  • datos : Conjuntos de datos
  • alfa: Opacidad de Puntos/Borde
  • aes: Resalte de color de los puntos de datos.

R

# Find the convex hull of the points being plotted
hull <- iris %>% group_by(Species) %>%
slice(chull(Sepal.Length, Sepal.Width))
 
plot + geom_polygon(data = hull, alpha = 0.2,
                 aes(fill = Species,colour = Species))

Producción:

Publicación traducida automáticamente

Artículo escrito por kumar_satyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *