Plot.Apiladas: Cree un gráfico de barras apiladas dinámico/estático y...

View source: R/Plot_Apiladas.R

Plot.ApiladasR 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 datos.

valores

Variable numérica que contiene los valores que desea graficar.

categoria

Una variable categórica dentro del data frame ingresado en datos.

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 categoria. Si no se introduce algún vector se usará la paleta rainbow por defecto.

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 "highcharter" (valor predeterminado) y "plotly". Los valores se emparejarán parcialmente.

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.

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

estatico

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.

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


UnalR documentation built on May 29, 2024, 6:07 a.m.