Plot.Treemap {UnalR} | R Documentation |
Cree un diagrama de árbol (treemap) dinámico y flexible con diversos paquetes
Description
Esta función proporciona excelentes herramientas y opciones para la visualización
de datos jerárquicos/estructurados como un conjunto de rectángulos anidados.
Cada grupo está representado por un rectángulo, cuya área (tamaño) es
proporcional a su frecuencia absoluta (recuento) y el color se usa para
mostrar otra dimensión numérica. Usando la interactividad, es posible representar
varias dimensiones/niveles: grupos, subgrupos, etc. Dicha gráfica se va a
representar usando la librería Highcharter
, Plotly
, d3treeR
, entre otras,
las cuales usan internamente JavaScript
.
Usage
Plot.Treemap(
datos,
variables,
atributo,
textFreq = "N",
metodo = c("Classic", "Classic2", "Sunburst", "Sunburst2"),
estadistico = c("Promedio", "Mediana", "Varianza", "SD", "CV", "Min", "Max"),
colores,
titulo = "",
libreria = c("highcharter", "plotly"),
estilo = NULL,
estatico = FALSE
)
Arguments
datos |
Un data frame, no un vector numérico. |
variables |
Una lista (ya sea creada con la sintaxis |
atributo |
Una variable numérica dentro del data frame ingresado en |
textFreq |
Cadena de caracteres indicando el nombre que se le va a dar al recuento en cada uno de los grupos. Por defecto se emplea el rótulo "N". |
metodo |
Cadena de caracteres indicando el diseño con el cual se realizará
el gráfico (en el caso de ingresar dos niveles o más). Los valores permitidos
son |
estadistico |
Igual uso que en |
colores |
Igual uso que en |
titulo |
Cadena de caracteres indicando el título principal del plot. |
libreria |
Igual uso que en |
estilo |
Lista compuesta por varios parámetros, los cuales van a ser usados para graficar el treemap y cuyo objetivo es personalizar pequeños detalles de éste.
|
estatico |
Si es |
Details
Si está trabajando en un R Markdown
o un aplicativo Shiny
no se puede usar
de forma conjunta el método = Classic
(o Classic2
) y método = Sunburst
(o Sunburst2
), pues se trata de un problema interno, ya que usan versiones
diferentes de d3
, puede darle seguimiento al problema
aquí. De igual forma,
si utiliza la librería sunburstR
en algunas ocasiones se le verán afectadas
las tablas creadas con DT
.
Value
Retorna el treemap (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 "highchart", "plotly", " d3tree", "d3tree2", "sunburst" o "sund2b".
Lista de argumentos de estilo
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 | × | |||||||
Examples
library(viridis)
Msj <- "Acompa\u00f1ado del Estad\u00edstico seleccionado para la Variable Edad."
Plot.Treemap(
datos = ejGraduados,
variables = SEDE_NOMBRE_MAT,
atributo = EDAD_MOD,
textFreq = "Tamaño de la Muestra",
estadistico = "Max",
colores = inferno(10),
titulo = "TOTAL DE GRADUADOS POR SEDE DE LA UNIVERSIDAD NACIONAL",
libreria = "highcharter",
estilo = list(hc.Tema = 7, hc.borderRadius = 20, hc.Credits = Msj)
)
# ---------------------------------------------------------------------------
Plot.Treemap(
datos = ejGraduados,
variables = FACULTAD,
atributo = EDAD_MOD,
textFreq = "n",
estadistico = "CV",
colores = turbo(10, direction = -1),
titulo = "TOTAL DE GRADUADOS POR FACULTAD EN LA UNAL",
libreria = "plotly",
estilo = list(ply.Credits = list(x = 0.6, y = 1, text = Msj))
)
# ---------------------------------------------------------------------------
# library(dplyr)
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
)
Plot.Treemap(
datos = ejGraduados,
variables = vars(SEDE_NOMBRE_MAT, FACULTAD, PROGRAMA),
metodo = "Classic",
colores = misColores # "Set3"
)
Plot.Treemap(
datos = ejGraduados,
variables = vars(SEDE_NOMBRE_MAT, FACULTAD, PROGRAMA),
metodo = "Classic2",
colores = "Set2"
)
Plot.Treemap(
datos = ejGraduados,
variables = vars(SEDE_NOMBRE_MAT, FACULTAD, PROGRAMA),
metodo = "Sunburst",
colores = misColores,
estilo = list(sun.Explanation = "All")
)
Plot.Treemap(
datos = ejGraduados,
variables = vars(SEDE_NOMBRE_MAT, FACULTAD, PROGRAMA),
metodo = "Sunburst",
# colores = misColores,
estilo = list(
sun.Explanation = "All",
sun.Color = list(range = c("#9E0142", "#D53E4F", "#F46D43", "#FDAE61",
"#FEE08B", "#FFFFBF", "#E6F598", "#ABDDA4",
"#66C2A5", "#3288BD", "#5E4FA2"
)
)
)
)
Plot.Treemap(
datos = ejGraduados,
variables = vars(SEDE_NOMBRE_MAT, FACULTAD, PROGRAMA),
metodo = "Sunburst2"
)
Plot.Treemap(
datos = ejGraduados,
variables = vars(SEDE_NOMBRE_MAT, FACULTAD, PROGRAMA),
metodo = "Sunburst2",
colores = misColores,
estilo = list(sun.showLabels = TRUE, sun.colorRoot = "#EF0055")
)
# ---------------------------------------------------------------------------
# Ejemplo usando el caso estático (treemap)
# library(dplyr)
Plot.Treemap(
datos = ejGraduados,
variables = vars(SEDE_NOMBRE_MAT, FACULTAD),
colores = c("#FF3232", "#AFFF5E", "#FD6DB3", "#4CCAF2", "#FF9248", "#FBB03B"),
titulo = "TOTAL DE GRADUADOS \u00d7 SEDE",
estatico = TRUE,
estilo = list(
gg.fontsize.title = 12, gg.fontsize.labels = c(15, 9),
gg.fontcolor.labels = c("#FFFFFF", "#212020"),
gg.border.lwds = c(4, 2), gg.border.col = c("#73095D", "#D60D4B"),
gg.lowerbound.cex.labels = 0.3, gg.overlap.labels = 0.1
)
)