library(highcharter)
options(highcharter.theme = elartedeldato_theme)
Gráfico de flujo
En la sección anterior vimos cómo hacer un gráfico de área en highcharter. Ahora veremos cómo hacer un gráfico de flujo o también llamado Streamgraph. Ambos son muy similares, pero el streamgraph fluctúa alrededor de un eje central y suele representarse con las áreas apiladas y suavizadas. Veamos cómo hacerlo con Highcharter!
El tema de los gráficos lo puedes encontrar en la sección sobre cómo crear temas en highcharter y configurarlo al inicio de la sesión así:
Cómo hacer un gráfico de flujo en highcharter
Seguimos con el dataset en la sección sobre cómo hacer un gráfico de área en highcharter.
set.seed(11)
<- data.frame(
df_series x = rep(as.Date("2022-12-18") + lubridate::days(1:20), 3),
y = round(abs(cumsum(rnorm(60, 100, 1000) + runif(60, 100, 200))),0),
grupo = rep(c("A", "B", "C"), each = 20)
)
El procedimiento es el mismo que en casos anteriores, indicamos el tipo de gráfico dentro de la función hchart()
con type = "streamgraph"
.
hchart(
df_series,type = "streamgraph",
hcaes(x, y, group = grupo)
|>
) hc_tooltip(table = TRUE, sort = TRUE) |>
hc_title(text = "<b>Gráfico de flujo</b>") |>
hc_subtitle(text = "<i>Ejemplo de gráfico de flujo en Highcharter con datos generados</i>") |>
hc_credits(enabled = TRUE, text = "http://elartedeldato.com")
Cómo añadir etiquetas en un gráfico de flujo de Highcharter
Para añadir etiquetas en un gráfico de flujo habilitamos la opción label
en hchart()
y al mismo tiempo, deshabilitamos la legenda, para evitar redundancia en el gráfico con showInLegend = FALSE
.
hchart(
df_series,type = "streamgraph",
label = list(enabled = TRUE),
showInLegend = FALSE,
hcaes(x, y, group = grupo)
|>
) hc_tooltip(table = TRUE, sort = TRUE) |>
hc_title(text = "<b>Gráfico de flujo</b>") |>
hc_subtitle(text = "<i>Ejemplo de gráfico de flujo en Highcharter con datos generados</i>") |>
hc_credits(enabled = TRUE, text = "http://elartedeldato.com")