| 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
)
)