Pacotes

library(readxl) 
library(tidyverse)
library(lubridate)

Download e leitura de dados

url = 'https://www.gov.br/anp/pt-br/assuntos/precos-e-defesa-da-concorrencia/precos/precos-revenda-e-de-distribuicao-combustiveis/shlp/semanal/semanal-municipios-2022.xlsx/@@download/file/semanal-municipios-2022.xlsx'

temp = tempfile()
download.file(url, destfile=temp, mode='wb')
data2 = read_excel(temp, sheet=1, col_names = TRUE, skip=11, 
                   col_types = c('date', "date", "text", "text","text", 'text',
                                 'numeric', 'text', rep('numeric', 6)))
rm(temp)
data2[(data2$PRODUTO) == "ÓLEO DIESEL",]$PRODUTO = "OLEO DIESEL"
data2[(data2$PRODUTO) == "ÓLEO DIESEL S10",]$PRODUTO = "OLEO DIESEL S10"

data2 <- data2 %>%
  filter(`MUNICÍPIO` %in% c("OURO PRETO"))

Visualização dos dados por produtos

 # Convertendo a coluna `DATA FINAL` para o formato de data
data2$`DATA FINAL` <- as.Date(data2$`DATA FINAL`)

library(ggthemes)

ggplot(data2, aes(x = `DATA FINAL`, y = `PREÇO MÉDIO REVENDA`, color = `PRODUTO`)) +
  geom_ribbon(aes(ymin = `PREÇO MÍNIMO REVENDA`, ymax = `PREÇO MÁXIMO REVENDA`), colour = 'gray', alpha = .2) +
  geom_line(size = .8) +
  scale_x_date(date_labels = "%b-%y", date_breaks = "3 month") +
  theme_minimal() +
  facet_wrap(~ `PRODUTO`, scales = 'free', ncol = 2) +
  theme(legend.position = 'none',
        plot.title = ggplot2::element_text(face = "bold", size = 20),
        plot.subtitle = ggplot2::element_text(face = "italic"),
        legend.text = ggplot2::element_text(face = "bold")) +
  labs(title = "Preços médios dos combustíveis - Ouro Preto",
       subtitle = "Agência Nacional do Petróleo, Gás Natural e Biocombustíveis",
       x = '', 
       y = 'R$',
       caption = 'Elaboração: Fábio Rocha com dados da ANP')

Download e leitura de dados - Brasil

url = 'https://www.gov.br/anp/pt-br/assuntos/precos-e-defesa-da-concorrencia/precos/precos-revenda-e-de-distribuicao-combustiveis/shlp/semanal/semanal-brasil-desde-2013.xlsx'

temp = tempfile()
download.file(url, destfile=temp, mode='wb')
data_br = read_excel(temp, sheet=1, col_names = TRUE, skip=17)
rm(temp)

Visualização dos dados por produtos

data_br$`DATA FINAL` <- as.Date(data_br$`DATA FINAL`)

  ggplot(data_br, aes(x = `DATA FINAL`, y = `PREÇO MÉDIO REVENDA`, color = `PRODUTO`)) +
  geom_ribbon(aes(ymin = `PREÇO MÍNIMO REVENDA`, ymax = `PREÇO MÁXIMO REVENDA`), colour = 'gray', alpha = .2) +
  geom_line(size = 0.8) +
  scale_x_date(date_labels = "%Y", date_breaks = "12 month") +
  theme_minimal() +
  facet_wrap(~ `PRODUTO`, scales = 'free', ncol = 2) +
  theme(legend.position = 'none',
        plot.title = ggplot2::element_text(face = "bold", size = 20),
        plot.subtitle = ggplot2::element_text(face = "italic"),
        legend.text = ggplot2::element_text(face = "bold"),
        axis.text.x = element_text(angle = 25, hjust = 1)) +  # Rotaciona o rótulo do eixo x em 45 graus
  labs(title = "Preços médios dos combustíveis - Brasil",
       subtitle = "Agência Nacional do Petróleo, Gás Natural e Biocombustíveis | 30-dez-2012 a 03-jun-2023",
       x = 'Data', 
       y = 'R$',
       caption = 'Elaboração: Fábio Rocha com dados da ANP')