Plot.Histograma {UnalR} | R Documentation |
Cree un histograma que represente gráficamente la distribución de datos en un conjunto, facilitando la comprensión de su frecuencia y patrones con dos diferentes paquetes.
Description
Esta función proporciona excelentes herramientas y opciones para la visualización
de un histograma, con el objetivo de que pueda representar la distribución de
frecuencia de datos numéricos (variable de un conjunto de datos) en forma de
barras, donde cada barra representa la cantidad de veces que aparece un valor
o rango de valores. Dicho diagrama se puede representar usando dos diferentes
librerías que son Highcharter
y Plotly
, las cuales usan internamente JavaScript
.
Usage
Plot.Histograma(
datos,
variable,
color,
bins,
density = FALSE,
titulo = "",
xlim,
ylim,
labelX = NULL,
labelY = "Conteo",
libreria = c("highcharter", "plotly"),
estilo = NULL,
estatico = FALSE
)
Arguments
datos |
Un data frame, no un objeto clase serie de tiempo o vector numérico. |
variable |
Una variable numérica dentro del data frame ingresado en |
color |
Cadena de caracteres indicando el color de relleno de las barras para todos los rangos de valores (intervalos). |
bins |
Valor numérico que indica el número máximo de bins deseado. Este valor se utilizará en un algoritmo que decidirá el tamaño de bins óptimo para que el histograma visualice mejor la distribución de los datos. |
density |
Si es |
titulo |
Cadena de caracteres indicando el título principal del plot. |
xlim |
Vector numérico que especifica el límite inferior y superior,
respectivamente, del eje |
ylim |
Vector numérico que especifica el límite inferior y superior,
respectivamente, del eje |
labelX |
Cadena de caracteres indicando la etiqueta del eje |
labelY |
Cadena de caracteres indicando la etiqueta del eje |
libreria |
Cadena de caracteres que indica el paquete con el cual se
realizará la serie. Los valores permitidos son |
estilo |
Lista compuesta por varios parámetros, los cuales van a ser usados de acuerdo con la librería especificada para graficar el plot y cuyo objetivo es personalizar pequeños detalles de ésta.
|
estatico |
Si es |
Details
Al usar la librería
Highcharter
no se podrá superponer la curva de densidad, pues no se dispone de esta funcionalidad para dicho paquete.Si está usando el caso estático (
ggplot2
) y adicionalmente está graficando la curva de densidad, recuerde que el ejeY
que predomina es el de la curva de densidad, por tal razón, si va a usar el argumentoylim
debe recordar que quedara en la escala de[0, 1]
.Tenga cuidado al usar el argumento
xlim
en el caso estático, ya que si uno de los bins se ve cortado (no abarca el inicio y fin de éste) no se graficará dicho intervalo.Al usar el paquete
Highcharter
y usar las opciones de descarga, el nombre del archivo descargado será la concatenación del plot graficado y la categoría usada, así, por ejemplo, si se graficó el diagrama de barras para la categoría "Nacionalidad" el nombre seráPlotHistograma__Nacionalidad.png
.
Value
Retorna el histograma (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" o "plotly".
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
Txt <- "Datos Oficiales de la Prueba Saber Pro del año 2020"
Plot.Histograma(
datos = ejSaberPro2020,
variable = PUNT_RAZO_CUANT,
color = "#12D640",
bins = 100,
titulo = "DISTRIBUCI\u00d3N EN EL PUNTAJE DE RAZONAMIENTO CUANTITATIVO",
ylim = c(0, 175),
labelX = "Puntaje en Matem\u00e1ticas",
labelY = "N\u00famero de Estudiantes",
libreria = "highcharter",
estilo = list(hc.Tema = 4)
)
# ---------------------------------------------------------------------------
Plot.Histograma(
datos = ejSaberPro2020,
variable = PUNT_RAZO_CUANT,
color = "#B9ABD1",
bins = 80,
density = TRUE,
titulo = "DISTRIBUCI\u00d3N EN EL PUNTAJE\nDE RAZONAMIENTO CUANTITATIVO",
ylim = c(0, 400),
labelX = "Puntaje en Matem\u00e1ticas",
labelY = "N\u00famero de Estudiantes",
libreria = "plotly",
estilo = list(
ply.Credits = list(x = 0.5, y = 1.1, text = Txt),
ply.Density = list(color = "#DD3380", width = 4, dash = "dot", opacity = 0.2)
)
)
# ---------------------------------------------------------------------------
# Ejemplo usando el caso estático (ggplot2)
Plot.Histograma(
datos = ejSaberPro2020,
variable = PUNT_RAZO_CUANT,
density = TRUE,
titulo = "DISTRIBUCI\u00d3N EN EL PUNTAJE DE RAZONAMIENTO CUANTITATIVO",
labelX = "Puntaje en Matem\u00e1ticas",
labelY = "N\u00famero de Estudiantes",
estatico = TRUE,
estilo = list(
gg.Tema = 6,
gg.Hist = list(
binwidth = 10, fill = "#FF4040", color = "#144169", alpha = 0.5, linetype = "dashed"
),
gg.Density = list(color = "#20B2AA", fill = "#40E0D0", alpha = 0.4, lwd = 1.1, linetype = 2),
gg.Texto = list(subtitle = "\u00bb\u00bb\u00bb", tag = "\u00ae", caption = Txt)
)
)