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)
df_series <- data.frame(
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")