Plot.Apiladas {UnalR} | R Documentation |
Cree un gráfico de barras apiladas dinámico/estático y flexible
Description
Esta función proporciona excelentes herramientas y opciones para la visualización
de un gráfico de barras apiladas con el objetivo de mostrar el tamaño relativo
(como porcentaje) de una variable categórica, subdivididas por colores en
función de un subgrupo. Dicha gráfica se va a representar usando la librería
Highcharter
, la cual usa internamente JavaScript
.
Usage
Plot.Apiladas(
datos,
ejeX,
valores,
categoria,
ano,
periodo,
addPeriodo = FALSE,
colores,
titulo = "",
libreria = c("highcharter", "plotly"),
estilo = NULL,
estatico = FALSE
)
Arguments
datos |
Un data frame, no un vector numérico. |
ejeX |
Una variable categórica dentro del data frame ingresado en |
valores |
Variable numérica que contiene los valores que desea graficar. |
categoria |
Una variable categórica dentro del data frame ingresado en |
ano |
Argument deprecated. This Argument still exist but will be removed in the next version. |
periodo |
Argument deprecated. This Argument still exist but will be removed in the next version. |
addPeriodo |
Argument deprecated. This Argument still exist but will be removed in the next version. |
colores |
Cadena de caracteres indicando los colores con los cuales se
deben colorear cada una de las series correspondiente a cada nivel del
argumento |
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 plot. Los valores permitidos son |
estilo |
Lista compuesta por varios parámetros, los cuales van a ser usados para graficar las barras apiladas y cuyo objetivo es personalizar pequeños detalles de éste.
|
estatico |
Si es |
Value
Retorna el diagrama de barras apiladas (objeto widget de HTML) creado. La clase del objeto retornado será un "htmlwidget" y adicionalmente pertenecerá a la clase "highchart".
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
# Ejemplo generalizado (sin uso de un consolidado como input)
# library("tibble"); library("dplyr")
set.seed(42)
Blood <- tibble(
Quarter = sample(c("I", "II", "III", "IV"), size = 200, replace = TRUE),
Group = sample(
c("O", "A", "B", "AB"), size = 200, prob = c(.5, .3, .16, .4), replace = TRUE
),
Prevalence = round(runif(200)*100)
)
Plot.Apiladas(
datos = Blood ,
ejeX = Quarter ,
valores = Prevalence,
categoria = Group ,
colores = c("#FF553D", "#A5FF67", "#40D2FF", "#FFDB5C")
)
# ---------------------------------------------------------------------------
Txt <- "BARRAS APILADAS EN FUNCI\u00d3N DEL NIVEL ACAD\u00c9MICO Y EL A\u00d1O"
Msj <- paste(
"Se considera \u00fanicamente los valores obtenidos en el primer periodo",
"acad\u00e9mico de cada a\u00f1o."
)
Plot.Apiladas(
datos = ejConsolidadoGrad |> filter(YEAR %in% c(2018:2020), SEMESTRE == 1),
categoria = "NIVEL", # Pruebe también con alguna de -> unique(ejConsolidadoGrad$Variable)
colores = c("#FFA700", "#C10AA1", "#01CDFE", "#00FF44", "#FF0040"),
titulo = Txt,
estilo = list(LegendTitle = "NIVEL ACAD\u00c9MICO:", hc.Tema = 4, hc.Credits = Msj)
)
Plot.Apiladas(
datos = ejConsolidadoGrad |> filter(YEAR %in% c(2018:2020), SEMESTRE == 1),
categoria = "AREAC_SNIES",
colores = c("#D2D4DC", "#FF8ABF", "#945BC2", "#D11879",
"#FF7F7F", "#FFA568", "#9CFF86", "#89D8FF"),
titulo = "BARRAS APILADAS EN FUNCI\u00d3N DEL \u00c1REA DEL SNIES",
libreria = "plotly",
estilo = list(
LegendTitle = "NIVEL ACAD\u00c9MICO:",
ply.Credits = list(x = 0.5, y = 1.5, text = gsub("l p", "l\np", Msj)),
ply.LegendPosition = list(x = 0.04, y = -0.3, orientation = "h")
)
)
# Ejemplo usando el caso estático (ggplot2)
Plot.Apiladas(
datos = ejConsolidadoGrad |> filter(YEAR %in% c(2019:2021), SEMESTRE == 1),
categoria = "NIVEL",
colores = c("#FFA700", "#C10AA1", "#01CDFE", "#00FF44", "#FF0040"),
titulo = gsub("L AC", "L\nAC", Txt),
estatico = TRUE,
estilo = list(
LegendTitle = "NIVEL ACAD\u00c9MICO:", gg.Tema = 8,
gg.Legend = list(legend.position = "right", legend.direction = "vertical"),
gg.Bar = list(width = 0.6, color = "#000000"),
gg.Texto = list(
subtitle = "\u00bb\u00bb\u00bb", tag = "\u00ae",
caption = "Informaci\u00f3n Disponible desde 2009-1"
)
)
)