Gráfico de radar en ggplot2 con ggradar

Librería

ggradar

Autor principal

Ricardo Bion

Conjunto de datos de muestra

El paquete ggradar contiene una función del mismo nombre que necesita un data frame como entrada, donde la primera columna es el nombre de los grupos y cada columna representa una variable. Ten en cuenta que todas las columnas deben tener la misma escala.

set.seed(4)
df <- data.frame(matrix(runif(30), ncol = 10))
df[, 1] <- paste0("G", 1:3)
colnames(df) <- c("Grupo", paste("Var", 1:9))

Gráfico de radar básico

Pasando el data frame a la función ggradar se creará la siguiente visualización. Ten en cuenta que si los valores de tus columnas no están entre 0 y 1 tendrás que especificar el valor mínimo con grid.min y el máximo con grid.max.

Gráfico de radar

# install.packages("devtools")
# devtools::install_github("ricardo-bion/ggradar")
library(ggradar)

ggradar(df)

Gráfico de radar en ggplot2

Etiquetas del gráfico

Las etiquetas del grid se pueden personalizar con values.radar y las etiquetas para cada variable con axis.labels.

Spider chart en ggplot2

# install.packages("devtools")
# devtools::install_github("ricardo-bion/ggradar")
library(ggradar)

ggradar(df, 
        values.radar = c(0, 0.5, 1),
        axis.labels = paste0("A", 1:9))

Colores y tipos de líneas

La función proporciona varios argumentos para personalizar los colores, como background.circle.colour para el color de fondo, group.colours para los colores de las líneas y gridline.X.colour para personalizar el color del grid, siendo X min, max o mid.

# install.packages("devtools")
# devtools::install_github("ricardo-bion/ggradar")
library(ggradar)

# Colores para las líneas
lcols <- c("#EEA236", "#5CB85C", "#46B8DA")

ggradar(df,
        background.circle.colour = "white",
        axis.line.colour = "gray60",
        gridline.min.colour = "gray60",
        gridline.mid.colour = "gray60",
        gridline.max.colour = "gray60",
        group.colours = lcols)

Personalizar el color del radar chart en ggplot2

De manera similar, los tipos de líneas para cada grid se pueden personalizar con gridline.X.linetype.

# install.packages("devtools")
# devtools::install_github("ricardo-bion/ggradar")
library(ggradar)

# Colores para las líneas
lcols <- c("#EEA236", "#5CB85C", "#46B8DA")

ggradar(df,
        background.circle.colour = "white",
        gridline.min.linetype = 1,
        gridline.mid.linetype = 1,
        gridline.max.linetype = 1,
        group.colours = lcols)

Pesonalizar las líneas del gráfico de radar en ggplot2

Leyenda

Posición de la leyenda del gráfico de radar en ggplot2

Posición de la leyenda

Es posible cambiar la posición de la leyenda con el argumento legend.position, así como cambiar su título con legend.title.

# install.packages("devtools")
# devtools::install_github("ricardo-bion/ggradar")
library(ggradar)

ggradar(df,
        legend.title = "Grupo",
        legend.position = "bottom")

Leyenda en ggradar con ggplot2

Eliminar la leyenda

Por último, si quieres deshacerte de la leyenda puedes establecer plot.legend = FALSE o legend.position = "none".

# install.packages("devtools")
# devtools::install_github("ricardo-bion/ggradar")
library(ggradar)

ggradar(df,
        plot.legend = FALSE)

Ten en cuenta que la función proporciona más argumentos para ajustar algunos detalles, como usar otro tipo de fuente o cambiar el tamaño de los textos. Recuerda ejecutar ?ggradar para obtener detalles adicionales.

También te puede interesar