Cómo hacer un gráfico Sunburst en highcharter

En el post de hoy aprenderemos a hacer un gráfico Sunburst en highcharter.
El tema de los gráficos lo puedes encontrar en la entrada sobre cómo crear temas en highcharter y configurarlo al inicio de la sesión así:
library(highcharter)
options(highcharter.theme = elartedeldato_theme)
Cómo hacer un gráfico Sunburst en highcharter
Para esto post, generaremos unos datos de tipo jerárquico.
df_jerarquico <- dplyr::tribble(
~padre, ~hijo, ~valor,
"A", "A1", 20,
"A", "A2", 10,
"A", "A3", 13,
"B", "B1", 12,
"B", "B2", 60,
"C", "C1", 29,
"C", "C2", 34
)
df_jerarquico
## # A tibble: 7 × 3
## padre hijo valor
## <chr> <chr> <dbl>
## 1 A A1 20
## 2 A A2 10
## 3 A A3 13
## 4 B B1 12
## 5 B B2 60
## 6 C C1 29
## 7 C C2 34
En highcharter, para realizar un gráfico Sunburst necesitamos que los datos sean de tipo jerárquico. Para ello, la librería cuenta con una función llamada data_to_hierarchical()
que tiene los siguientes argumentos:
- data: Datos de entrada
- group_vars: Indica el nombre de las dos variables categóricas jerárquicas
- size_var: Indica la variable del tamaño del sector
- colors: Vector con el color de cada grupo
df_jerarquico_format <- data_to_hierarchical(
data = df_jerarquico,
group_vars = c(padre, hijo),
size_var = valor,
colors = c("#aedcc0", "#206999", "#ffab44")
)
A conitnuación indicamos en la función hchart()
el tipo de gráfico que queremos, en este caso sunburst
y listo!
library(highcharter)
hchart(
df_jerarquico_format,
type = "sunburst",
dataLabels = list(
style = list(
fontSize = "20px",
textOutline = FALSE
)
)
) |>
hc_title(text = "<b>Gráfico Sunburst</b>") |>
hc_subtitle(text = "<i>Ejemplo de Gráfico Sunburst en Highcharter con datos generados</i>") |>
hc_credits(enabled = TRUE, text = "http://elartedeldato.com")