Gráfica de líneas en R con ggplot2, con datos reales

Vamos a graficar la inflación anual de México con los datos que publica grafoso. Lo que ves abajo son las gráficas que produce este código.

Los datos

library(tidyverse)
inflacion <- read_csv("https://grafoso.com/datos/inflacion-mexico.csv", show_col_types = FALSE)
names(inflacion) <- c("anio", "inflacion")
tail(inflacion, 3)
# A tibble: 3 × 2
   anio inflacion
  <dbl>     <dbl>
1  2023      5.53
2  2024      4.72
3  2025      3.81

La gráfica básica

ggplot2 se arma por capas: datos, ejes con aes() y una forma, geom_line().

ggplot(inflacion, aes(x = anio, y = inflacion)) +
  geom_line()
Línea de la inflación anual de México desde 1990, sin formato.

Lista para publicar

Cada + agrega una capa: la meta, el color, los títulos y un tema limpio.

ggplot(inflacion, aes(x = anio, y = inflacion)) +
  annotate("segment", x = 2003, xend = 2025, y = 3, yend = 3, linetype = "dashed", color = "gray50") +
  geom_line(color = "#1d5bd8", linewidth = 1) +
  annotate("text", x = 2014, y = 1.2, label = "Meta de Banxico desde 2003: 3 %", color = "gray30") +
  labs(
    title = "Inflación anual en México",
    subtitle = "Precios al consumidor, en por ciento",
    x = NULL,
    y = NULL,
    caption = "Fuente: Banco Mundial, en grafoso.com"
  ) +
  theme_minimal(base_size = 13)
Inflación anual de México desde 1990, con un pico cerca de 35 % en los noventa y una línea punteada en la meta de 3 % desde 2003.

Preguntas frecuentes

¿Puedo usar otros datos de grafoso?

Sí. Muchas páginas con datos ofrecen su CSV. Revisa su fuente original en cada artículo.

¿Cómo comparo dos series?

Pon los datos en formato largo con una columna que las identifique, y usa aes(color = serie).

Fuentes oficiales