library(highcharter)
options(highcharter.theme = elartedeldato_theme)
Gráfico de barras
En la sección anterior aprendimos a hacer un gráfico de columnas en highcharter de forma sencilla. En el día de hoy seguiremos con datos categóricos y veremos cómo hacer un gráfico de barras 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 de barras
Como ejemplo, utilizaremos los datos generados en la última entrada.
<- dplyr::tribble(
df_cat ~x, ~y,
"A", 10,
"B", 23,
"C", 7,
"D", 16
)
df_cat
# A tibble: 4 × 2
x y
<chr> <dbl>
1 A 10
2 B 23
3 C 7
4 D 16
Para construir el gráfico utilizamos la función hchart()
e indicamos el tipo de gráfico con type = "barras"
.
hchart(
df_cat,name = "Barras", # Nombre de la serie
type = "bar", # Tipo de gráfico
hcaes(x = x, y = y) # Mapeado de variables
|>
) hc_title(text = "<b>Gráfico de barras</b>") |> # Título
hc_subtitle(text = "<i>Orden por defecto</i>") |> # Subtítulo
hc_credits(enabled = TRUE, text = "http://elartedeldato.com") -> hc # Créditos
hc
Si nos fijamos, highcharter interpreta las barras como un gráfico de columnas traspuesto, es decir, la variable x
(categórica) la representa en el eje y, y la variable y
(numérica), en el eje x.
Además, highcharter por defecto no ordena la variable categórica, como ocurriría en ggplot2
por ejemplo, si no que muestra las categorías según el dataset de entrada. Veamos cómo un gráfico de barras en highcharter.
Cómo ordenar un gráfico de barras en highcharter
Para ordenar un gráfico de barras en highcharter habilitamos el argumento dataSorting
dentro de la función hchart()
y listo!
|>
df_cat hchart(
name = "Barras",
type = "bar",
hcaes(x = x, y = y),
dataSorting = list(enabled = TRUE), # Ordenar el eje y por variable x
|>
) hc_title(text = "<b>Gráfico de barras</b>") |>
hc_subtitle(text = "<i>Ordenado por variable y</i>") |>
hc_credits(enabled = TRUE, text = "http://elartedeldato.com") -> hc_ordenado
hc_ordenado