Plot.Apiladas.Rd
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
.
Plot.Apiladas(
datos,
ejeX,
valores,
categoria,
ano,
periodo,
addPeriodo = FALSE,
colores,
titulo = "",
libreria = c("highcharter", "plotly"),
estilo = NULL,
estatico = FALSE
)
Un data frame, no un vector numérico.
Una variable categórica dentro del data frame ingresado en datos
.
Variable numérica que contiene los valores que desea graficar.
Una variable categórica dentro del data frame ingresado en datos
.
Argument deprecated. This Argument still exist but will be removed in the next version.
Argument deprecated. This Argument still exist but will be removed in the next version.
Argument deprecated. This Argument still exist but will be removed in the next version.
Cadena de caracteres indicando los colores con los cuales se
deben colorear cada una de las series correspondiente a cada nivel del
argumento categoria
. Si no se introduce algún vector se usará la paleta
rainbow
por defecto.
Cadena de caracteres indicando el título principal del plot.
Cadena de caracteres que indica el paquete con el cual se realizará
el plot. Los valores permitidos son "highcharter"
(valor predeterminado)
y "plotly"
. Los valores se emparejarán parcialmente.
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.
hc.Tema
, hc.Credits
, gg.Tema
, gg.Legend
y gg.Texto
: Igual uso
que en Plot.Series()
LegendTitle
: Cadena de caracteres indicando un título para la leyenda
(diferentes niveles del argumento categoria
).
ply.LegendPosition
: Igual uso que en Plot.Series()
ply.Credits
: Igual uso que en Plot.Series()
gg.Bar
: Igual uso que en Plot.Barras()
Si es FALSE
(valor predeterminado) el gráfico a retornar
será dinámico (dependiendo de la librería seleccionada), en caso contrario
se retornará un gráfico estático construido con ggplot2
.
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".
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 | × |
# 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")
)
#> Warning: ¡Se usará la librería 'highcharter' por defecto para realizar el plot!
#> Warning:
#> ¡Ha ingresado un dataframe que no está de forma condensada, es decir,
#> para cada categoría existe más de un valor para un mismo punto del eje X!
#> Se sumará los valores por defectos para dichos puntos que gocen de +1 valor
#>
# ---------------------------------------------------------------------------
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)
)
#> Warning: ¡Se usará la librería 'highcharter' por defecto para realizar el plot!
#> Warning: Unquoting language objects with `!!!` is deprecated as of rlang 0.4.0. Please
#> use `!!` instead.
#>
#> # Bad: dplyr::select(data, !!!enquo(x))
#>
#> # Good: dplyr::select(data, !!enquo(x)) # Unquote single quosure
#> dplyr::select(data, !!!enquos(x)) # Splice list of quosures
#> This warning is displayed once every 8 hours.
#> Warning:
#> ¡Ha ingresado un dataframe que no está de forma condensada, es decir,
#> para cada categoría existe más de un valor para un mismo punto del eje X!
#> Se sumará los valores por defectos para dichos puntos que gocen de +1 valor
#>
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"
)
)
)
#> Warning:
#> ¡Ha ingresado un dataframe que no está de forma condensada, es decir,
#> para cada categoría existe más de un valor para un mismo punto del eje X!
#> Se sumará los valores por defectos para dichos puntos que gocen de +1 valor
#>