La función radarchart
del paquete fmsb
necesita un data frame donde la primera columna representa los valores máximos de los datos (10) y la segunda fila los valores menores (0). En otro caso, tendrás que establecer maxmin = FALSE
. Ten en cuenta que el número de columnas debe ser superior a dos.
Cada columna es una variable y las filas adicionales representan grupos o individuos. Dentro de df
tenemos solo un grupo y 8 variable diferentes.
Conjunto de datos con un grupo
set.seed(1)
df <- data.frame(rbind(rep(10, 8), rep(0, 8),
matrix(sample(0:10, 8),
nrow = 1)))
colnames(df) <- paste("Var", 1:8)
Si quieres añadir más grupos o individuos agrega más filas al data frame. En df2
tenemos 8 variables de tres grupos diferentes.
Conjunto de datos con varios grupos
set.seed(1)
df2 <- data.frame(rbind(rep(10, 8), rep(0, 8),
matrix(sample(0:10, 24,
replace = TRUE),
nrow = 3)))
colnames(df2) <- paste("Var", 1:8)
Se puede crear el gráfico de radar por defecto pasando el data frame a la función radarchart
de la librería.
# install.packages("fmsb")
library(fmsb)
radarchart(df)
Si no te gusta el estilo por defecto puedes personalizarlo. Los argumentos cglty
, cglcol
y cglwd
pueden ser usados para cambiar el tipo de línea, color y ancho de las líneas del grid mientras que pcol
, plwd
y plty
cambiar el color, el ancho y el tipo de línea de la línea que representa las variables.
# install.packages("fmsb")
library(fmsb)
radarchart(df,
cglty = 1, # Tipo de línea del grid
cglcol = "gray", # Color del grid
cglwd = 1, # Ancho líneas grid
pcol = 4, # Color de la línea
plwd = 2, # Ancho de la línea
plty = 1) # Tipo de línea
Puedes colorear el área del polígono creado haciendo uso de pfcol
. Se recomienda usar un color con transparencia para obtener un mejor resultado.
# install.packages("fmsb")
library(fmsb)
radarchart(df,
cglty = 1, cglcol = "gray",
pcol = 4, plwd = 2,
pfcol = rgb(0, 0.4, 1, 0.25))
Líneas de sombreado
De manera alternativa, puedes añadir líneas de sombreado a los polígonos con pdensity
y cambiar su ángulo con pangle
.
# install.packages("fmsb")
library(fmsb)
radarchart(df,
cglty = 1, cglcol = "gray",
pcol = 1, plwd = 2,
pdensity = 10,
pangle = 40)
El proceso para crear un gráfico de radar con varios grupos o individuos es el mismo al descrito en la sección previa, tan solo tienes que pasar el data frame con varias variables que creamos en la primera sección.
# install.packages("fmsb")
library(fmsb)
radarchart(df2)
Personalización de las líneas
En este escenario puedes personalizar los colores, tipo y ancho de las líneas para cada grupo.
# install.packages("fmsb")
library(fmsb)
radarchart(df2,
cglty = 1, # Tipo de línea del grid
cglcol = "gray", # Color del grid
pcol = 2:4, # Color para cada línea
plwd = 2, # Ancho para cada línea
plty = 1) # Tipos de línea
Colorear las áreas
También puedes colorear las áreas para cada grupo.
# install.packages("fmsb")
library(fmsb)
# Colores de las áreas
areas <- c(rgb(1, 0, 0, 0.25),
rgb(0, 1, 0, 0.25),
rgb(0, 0, 1, 0.25))
radarchart(df2,
cglty = 1, # Tipo de línea del grid
cglcol = "gray", # Color líneas grid
pcol = 2:4, # Color para cada línea
plwd = 2, # Ancho para cada línea
plty = 1, # Tipos de línea
pfcol = areas) # Color de las áreas
Por último, es recomendable añadir una leyenda cuando se muestran varios grupos haciendo uso de la función legend
, tal y como se muestra en el siguiente ejemplo.
# install.packages("fmsb")
library(fmsb)
areas <- c(rgb(1, 0, 0, 0.25),
rgb(0, 1, 0, 0.25),
rgb(0, 0, 1, 0.25))
radarchart(df2,
cglty = 1, # Tipo de línea del grid
cglcol = "gray", # Color líneas grid
pcol = 2:4, # Color para cada línea
plwd = 2, # Ancho para cada línea
plty = 1, # Tipos de línea
pfcol = areas) # Color de las áreas
legend("topright",
legend = paste("Grupo", 1:3),
bty = "n", pch = 20, col = areas,
text.col = "grey25", pt.cex = 2)
También te puede interesar