Plot.Histograma.Rd
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
.
Plot.Histograma(
datos,
variable,
color,
bins,
density = FALSE,
titulo = "",
xlim,
ylim,
labelX = NULL,
labelY = "Conteo",
libreria = c("highcharter", "plotly"),
estilo = NULL,
estatico = FALSE
)
Un data frame, no un objeto clase serie de tiempo o vector numérico.
Una variable numérica dentro del data frame ingresado en datos
.
Cadena de caracteres indicando el color de relleno de las barras para todos los rangos de valores (intervalos).
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.
Si es TRUE
se agregará la curva de densidad superpuesta al
histograma. El valor por defecto es FALSE
.
Cadena de caracteres indicando el título principal del plot.
Vector numérico que especifica el límite inferior y superior,
respectivamente, del eje X
. Si no se introduce algún valor se mostrará
todo el rango disponible para dicho eje.
Vector numérico que especifica el límite inferior y superior,
respectivamente, del eje Y
. Si no se introduce algún valor se mostrará
todo el rango disponible para dicho eje.
Cadena de caracteres indicando la etiqueta del eje X
. Por
defecto se emplea el rótulo "Periodo".
Cadena de caracteres indicando la etiqueta del eje Y
.
Cadena de caracteres que indica el paquete con el cual se
realizará la serie. Los valores permitidos son "highcharter"
(valor predeterminado), "plotly"
o "dygraphs"
. Los valores se emparejarán
parcialmente.
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.
hc.Tema
, ply.Credits
, gg.Tema
y gg.Texto
: Igual uso
que en Plot.Series()
ply.Density
: Una lista de parámetros admitidos por el argumento line
de la función add_lines().
gg.Hist
: Una lista de parámetros admitidos por la función geom_histogram().
gg.Density
: Una lista de parámetros admitidos por la función geom_density().
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 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".
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 eje Y
que predomina es el de la curva
de densidad, por tal razón, si va a usar el argumento ylim
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
.
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 | × |
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)
)
)