Plot.Torta {UnalR} | R Documentation |
Cree un gráfico circular/torta/pie dinámico/estático y flexible con dos diferentes paquetes
Description
Esta función permite mostrar de forma interactiva (y estática) una descripción
compacta y general de una variable con sus respectivas categorías. Dicho diagrama
se puede representar usando dos diferentes librerías que son Highcharter
y
Plotly
, las cuales usan internamente JavaScript
.
Usage
Plot.Torta(
datos,
valores,
categoria,
ano,
periodo,
colores,
titulo = "",
label = "",
addPeriodo = FALSE,
libreria = c("highcharter", "plotly"),
estilo = NULL,
estatico = FALSE
)
Arguments
datos |
Un data frame, no un vector numérico. |
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. |
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. |
label |
Cadena de caracteres indicando la etiqueta a la que hace referencia el plot. |
addPeriodo |
Argument deprecated. This Argument still exist but will be removed in the next version. |
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 de acuerdo con la librería especificada para graficar la torta y cuyo objetivo es personalizar pequeños detalles de ésta.
|
estatico |
Si es |
Details
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 pie para la categoría "Sexo" el
nombre será PlotTorta_Sexo.png
.
Value
Retorna el diagrama circular (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 | × | |||||||
Note
Los gráficos circulares son una forma muy mala de mostrar información. El ojo es bueno para juzgar medidas lineales y malo para juzgar áreas relativas. Un gráfico de barras o un gráfico de puntos es una forma preferible de mostrar este tipo de datos.
Examples
# Ejemplo generalizado (sin uso de un consolidado como input)
# library("tibble"); library("dplyr")
set.seed(42)
Blood <- tibble(
Group = sample(c("O", "A", "B", "AB"), size = 200, prob = c(0.5, 0.3, 0.16, 0.4), replace = TRUE),
Prevalence = round(runif(200)*100)
)
Plot.Torta(
datos = Blood ,
valores = Prevalence,
categoria = Group ,
colores = c("#FF553D", "#A5FF67", "#40D2FF", "#FFDB5C"),
label = "No. of Prevalence"
)
Plot.Torta(
datos = Blood ,
valores = Prevalence,
categoria = Group ,
colores = c("#FF553D", "#A5FF67", "#40D2FF", "#FFDB5C"),
titulo = "DISTRIBUTION OF BLOOD GROUPS",
estatico = TRUE,
estilo = list(gg.Tema = 6)
)
Plot.Torta(
datos = Blood ,
valores = Prevalence,
categoria = Group ,
colores = c("#FF553D", "#A5FF67", "#40D2FF", "#FFDB5C"),
titulo = "DISTRIBUTION OF BLOOD GROUPS",
estatico = TRUE,
estilo = list(
gg.Tema = 7, gg.Donut = TRUE, gg.Percent = FALSE,
gg.Texto = list(
subtitle = "Synthetic or fake data that resembles real-world data",
caption = "* Data Simulation",
tag = "\u00ae"
)
)
)
# ---------------------------------------------------------------------------
col <- c("#F15A24", "#8CC63F")
Msj <- "Distribuci\u00f3n de estudiantes graduados en el primer periodo acad\u00e9mico del 2021."
Txt <- "DISTRIBUCI\u00d3N DE GRADUADOS POR MODALIDAD DE FORMACI\u00d3N"
Plot.Torta(
datos = ejConsolidadoGrad |> filter(YEAR==2021, SEMESTRE==1),
categoria = "TIPO_NIVEL",
colores = col,
titulo = paste(Txt, "(Periodo 2021-1)"),
label = "N\u00famero de Graduados",
libreria = "highcharter",
estilo = list(
LegendTitle = "\u00c9sta es una descripci\u00f3n para la leyenda:",
hc.Tema = 7, hc.Credits = Msj
)
)
# ---------------------------------------------------------------------------
Msj <- "Distribuci\u00f3n hist\u00f3rica de estudiantes graduados (desde el 2009-I al 2021-I)."
Plot.Torta(
datos = ejConsolidadoGrad,
categoria = "TIPO_NIVEL",
colores = col,
titulo = gsub("DOS POR", "DOS\nPOR", Txt),
libreria = "plotly",
estilo = list(
ply.Legend = "inside", ply.Credits = list(
x = 0.8, y = 1.1, text = paste0("<b>", Msj, "</b>")
)
)
)