Gráfico de líneas

Tras haber visto cómo hacer un gráfico de dispersión o scatter plot en highcharter, ahora veremos cómo hacer un gráfico de líneas en highcharter.

El tema de los gráficos lo puedes encontrar en el capítulo 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 de líneas en highcharter

Para empezar, vamos generar 40 datos aleatorios creando dos serie temporales de 20 días.

set.seed(1234)

df_series <- data.frame(
  x = rep(as.Date("2022-12-15") + lubridate::days(1:20), 2),
  y = abs(cumsum(rnorm(40, 1, 100) + runif(40, 1, 20))),
  grupo = rep(c("A", "B"), each = 20)
)

reactable::reactable(head(df_series), pagination = F)

A continuación, realizamos el gráfico con Highcharter utilizando la función hchart() e indicando el tipo de geometría con type = "line".

library(highcharter)

hchart(
    df_series,
    type = "line",
    hcaes(x = x, y = y, group = grupo)
  ) |>
  hc_title(text = "<b>Gráfico de líneas</b>") |>
  hc_subtitle(text = "<i>Ejemplo de gráfico de líneas en Highcharter con datos generados</i>") |>
  hc_credits(enabled = TRUE, text = "http://elartedeldato.com")

Como podemos observar en el tooltip, los valores aparecen con 11 decimales. Veamos cómo podemos reducir el número de decimales en Highcahrter.

Cómo modificar el número de decimales en el tooltip de un gráfico de líneas en Highcharter

Para personalizar el tooltip en cualquier gráfico de hicharter, se utiliza la función hc_tooltip(). Con esta función podemos indicar de forma literal el contenido del tooltip en formato HTML o también modificar algunas características del tooltip directamente, como por ejemplo, el número de decimales de cada punto con valueDecimals.

hchart(
    df_series,
    type = "line",
    hcaes(x = x, y = y, group = grupo)
  ) |>
  hc_tooltip(
    valueDecimals = 2
  ) |>
  hc_title(text = "<b>Gráfico de líneas</b>") |>
  hc_subtitle(text = "<i>Ejemplo de gráfico de líneas en Highcharter con datos generados</i>") |>
  hc_credits(enabled = TRUE, text = "http://elartedeldato.com")

Cómo añadir el nombre de la serie sobre cada serie del gráfico de líneas en Highcharter

Para añadir el nombre de la serie directamente sobre el gráfico, habilitamos el argumento label como label = list(enabled = TRUE) y eliminamos la leyenda indicando showInLegend = FALSE.

hchart(
    df_series,
    type = "line",
    hcaes(x = x, y = y, group = grupo),
    showInLegend = FALSE,
    label = list(enabled = TRUE)
  ) |>
  hc_tooltip(
    valueDecimals = 2
  ) |>
  hc_title(text = "<b>Gráfico de líneas</b>") |>
  hc_subtitle(text = "<i>Ejemplo de gráfico de líneas en Highcharter con datos generados</i>") |>
  hc_credits(enabled = TRUE, text = "http://elartedeldato.com")