library(highcharter)
options(highcharter.theme = elartedeldato_theme)
Gráfico Sunburst
En esta sección veremos cómo 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í:
Cómo hacer un gráfico Sunburst en highcharter
Primero, generaremos unos datos de tipo jerárquico asignando valores a las variables padre
e hijo
.
<- dplyr::tribble(
df_jerarquico ~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
library(highcharter)
<- data_to_hierarchical(
df_jerarquico_format data = df_jerarquico,
group_vars = c(padre, hijo),
size_var = valor,
colors = c("#aedcc0", "#206999", "#ffab44")
)
A continuación indicamos en la función hchart()
el tipo de gráfico que queremos, en este caso sunburst
y listo!
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")