| Plot.Radar | R Documentation |
Esta función proporciona excelentes herramientas y opciones para la visualización
de un gráfico de radar (también conocido como gráfico de araña) dinámico con
el objetivo de observar datos multivariados de forma bidimensional. Dicho radar
chart o spider plot se puede representar usando dos diferentes librerías que
son Plotly y ECharts, las cuales usan internamente JavaScript.
Plot.Radar(
datos,
categoria,
variables,
estadistico = c("Promedio", "Mediana", "Varianza", "SD", "CV", "Min", "Max"),
colores,
rango,
ordinal = FALSE,
titulo = "",
libreria = c("plotly", "echarts"),
estilo = NULL,
estatico = FALSE
)
datos |
Un data frame, se espera en formato de microdatos no un agregado. |
categoria |
Una variable categórica dentro del data frame ingresado en |
variables |
Lista (ya sea creada con la sintaxis |
estadistico |
Cadena de caracteres que indica el estadístico a graficar.
Los valores permitidos son |
colores |
Cadena de caracteres indicando los colores con los cuales se
deben colorear cada una de las trazas correspondiente a cada nivel del
argumento |
rango |
Vector numérico de longitud dos que indica el valor mínimo y máximo,
respectivamente. Si no conoce el dominio del estadístico seleccionado omita
éste parámetro, pues internamente se usará |
ordinal |
Si es |
titulo |
Cadena de caracteres indicando el título principal del plot. |
libreria |
Cadena de caracteres que indica el paquete con el cual se
realizará el radar. Los valores permitidos son |
estilo |
Lista compuesta por varios parámetros, los cuales van a ser usados de acuerdo con la librería especificada para graficar el radar y cuyo objetivo es personalizar pequeños detalles de éste.
|
estatico |
Si es |
Retorna el radar (objeto widget de HTML) creado. La clase del objeto retornado será un "htmlwidget" y dependiendo de la librería usada pertenecerá adicionalmente a la clase "plotly" o "echarts4r".
Sabemos que puede ser abrumador el número de argumentos dentro del parámetro
estilo, pero es necesario si queremos ofrecer al usuario la máxima
personalización dentro de cada función usando cualquier librería. Por tal
razón, a continuación, se detalla el listado completo de argumentos, usados
al especificar la librería y en qué función están presentes
(marcado con una × si lo posee).
| Librería | estilo$ | Plot.Series() | Plot.Barras() | Plot.Apiladas() | Plot.Boxplot() | Plot.Radar() | Plot.Treemap() | Plot.Torta() | Plot.Drilldown() |
| — | gg.Tema | × | × | × | × | ||||
| l | gg.Texto | × | × | × | × | ||||
| l | gg.Legend | × | × | × | |||||
| l | gg.Linea | × | |||||||
| l | gg.Punto | × | |||||||
| l | gg.Bar | × | × | ||||||
| l | gg.VarWidth | × | |||||||
| l | gg.OutShape | × | |||||||
| l | gg.JitWidth | × | |||||||
| l | gg.JitSize | × | |||||||
| l | gg.Range | × | |||||||
| ggplot2 | gg.plty | × | |||||||
| l | gg.plwd | × | |||||||
| l | gg.cglwd | × | |||||||
| l | gg.cglcol | × | |||||||
| l | gg.fontsize.title | × | |||||||
| l | gg.fontsize.labels | × | |||||||
| l | gg.fontcolor.labels | × | |||||||
| l | gg.border.lwds | × | |||||||
| l | gg.border.col | × | |||||||
| l | gg.lowerbound.cex.labels | × | |||||||
| l | gg.force.print.labels | × | |||||||
| — | gg.overlap.labels | × | |||||||
| » | hc.Tema | × | × | × | × | × | × | × | |
| l | hc.Credits | × | × | × | × | × | × | × | |
| highcharter | hc.BoxInfo | × | |||||||
| l | hc.Slider | × | |||||||
| » | hc.borderRadius | × | |||||||
| • | ply.Credits | × | × | × | × | × | × | × | |
| ° | ply.Legend | × | × | ||||||
| ° | ply.LegendPosition | × | × | × | × | ||||
| plotly | ply.Interaction | × | × | ||||||
| ° | ply.Relleno | × | |||||||
| ° | ply.Opacidad | × | × | ||||||
| • | ply.LegendTitle | × | |||||||
| dygraphs | dyg.LegendWidth | × | |||||||
| » | dyg.Resaltar | × | |||||||
| — | e.Tema | × | |||||||
| l | e.Credits | × | |||||||
| echarts4r | e.Forma | × | |||||||
| l | e.LegType | × | |||||||
| — | e.LegLoc | × | |||||||
# library(dplyr)
Plot.Radar(
datos = ejSaberPro2020,
categoria = TIPO_COL,
variables = vars(PUNT_LECT_CRIT, PUNT_RAZO_CUANT, PUNT_INGLES),
colores = c("#2ACE82", "#FE2667", "#32E7C8", "#FF8D00"),
rango = c(0, NaN),
estilo = list(ply.Relleno = "tonext")
)
# ---------------------------------------------------------------------------
Plot.Radar(
datos = ejSaberPro2020,
categoria = SEDE_NOMBRE_ADM,
variables = vars(
PUNTAJE_GLOBAL, PUNT_RAZO_CUANT, PUNT_INGLES,
PUNT_LECT_CRIT, PUNT_COMP_CIUD, PUNT_COMU_ESCR
),
rango = c(0, NaN)
)
# ---------------------------------------------------------------------------
Plot.Radar(
datos = ejSaberPro2020,
categoria = SEDE_NOMBRE_ADM,
variables = vars(
PUNTAJE_GLOBAL, PUNT_RAZO_CUANT, PUNT_INGLES,
PUNT_LECT_CRIT, PUNT_COMP_CIUD, PUNT_COMU_ESCR
),
rango = c(0, NaN),
libreria = "echarts"
)
# ---------------------------------------------------------------------------
misColores <- c(
"#29ABE2", # AZUL CLARO | Amazonia
"#8CC63F", # VERDE | Bogota
"#CC241D", # ROJO | Caribe
"#0071BC", # AZUL VIVO | Manizales
"#F15A24", # NARANJA | Medellin
"#FBB03B", # AMARILLO | Orinoquia
"#93278F", # MORADO | Palmira
"#8A381A" # GRIS | Tumaco
)
Msj <- "Gr\u00e1fico de radar para representar los puntajes multivariados de la prueba Saber Pro."
Plot.Radar(
datos = ejSaberPro2020,
categoria = SEDE_NOMBRE_ADM,
variables = vars(
PUNTAJE_GLOBAL, PUNT_RAZO_CUANT, PUNT_INGLES,
PUNT_LECT_CRIT, PUNT_COMP_CIUD, PUNT_COMU_ESCR
),
estadistico = "SD",
colores = misColores,
rango = c(0, NaN),
titulo = "SPIDER PLOT",
libreria = "plotly",
estilo = list(
ply.LegendTitle = "SEDE:", ply.LegendPosition = list(x = 0, y = -0.15, orientation = "h"),
ply.Relleno = "tonext", ply.Opacidad = 0.8, ply.Credits = list(x = 0.8, y = -0.1, text = Msj)
)
)
# ---------------------------------------------------------------------------
Plot.Radar(
datos = ejSaberPro2020,
categoria = SEDE_NOMBRE_ADM,
variables = vars(
PUNTAJE_GLOBAL, PUNT_RAZO_CUANT, PUNT_INGLES,
PUNT_LECT_CRIT, PUNT_COMP_CIUD, PUNT_COMU_ESCR
),
estadistico = "CV",
colores = misColores,
rango = c(0, 0.25),
titulo = "RADAR CHART",
libreria = "echarts",
estilo = list(
e.Credits = Msj, e.Forma = "circle", e.Tema = 10,
e.LegType = "scroll", e.LegLoc = 0
)
)
# ---------------------------------------------------------------------------
# Ejemplo usando el caso estático (fmsb)
Plot.Radar(
datos = ejSaberPro2020,
categoria = TIPO_COL,
variables = vars(
PUNT_RAZO_CUANT, PUNT_INGLES, PUNT_LECT_CRIT, PUNT_COMP_CIUD, PUNT_COMU_ESCR
),
estadistico = "SD",
colores = c("#89D8FF", "#9CFF86", "#FFA568", "#FF7F7F"),
titulo = "RADAR CHART DE LA DESVIACI\u00d3N EST\u00c1NDAR\nPOR COMPONENTE EVALUADO",
# rango = c(10, 40),
estatico = TRUE,
estilo = list(
gg.Range = TRUE, gg.plty = 5, gg.plwd = 4, gg.cglwd = 2, gg.cglcol = "#856AA1"
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.