Discente: Dayvison Balsamão Rodrigues

Professor: Gilmar Rosa

CPF:012.373.996-96

e-mail:

Número de polícia: 133.621-3

Título: Relação entre Peso e Consumo de Combustível

1. Introdução

Este relatório apresenta exercícios práticos de visualização de dados utilizando o pacote ggplot2, seguindo os princípios da Gramática dos Gráficos. Os exemplos utilizam datasets clássicos do R e demonstram diferentes tipos de gráficos, bem como técnicas de customização.

Exercício 1.1 – Introdução ao ggplot2

Carregue o dataset mtcars e crie um gráfico de dispersão (scatter plot) entre as variáveis mpg (milhas por galão) e wt (peso do carro).

Adicione ao gráfico os itens:

  1. Título: ”Relação entre Peso e Consumo de Combustível”

  2. Rótulos dos eixos X e Y

  3. Cor diferenciada por número de cilindros (cyl)

  4. Tema theme minimal() Dica: Use ggplot(data = mtcars) + aes(x = wt, y = mpg) + geom point()

data(mtcars)

mtcars$cyl <- factor(mtcars$cyl)

ggplot(data = mtcars, aes(x = wt, y = mpg, color = cyl)) +
  geom_point(size = 3) +
  labs(
    title = "Relação entre Peso e Consumo de Combustível",
    x = "Peso do carro (wt)",
    y = "Consumo (milhas por galão)",
    color = "Cilindros"
    ) +
  theme_minimal()

Exercício 1.2 – Gráficos de Barras

Utilizando o dataset diamonds, crie um gráfico de barras mostrando a contagem de diamantes por corte (cut).

Questão : Modifique o gráfico para:

  1. Ordenar as barras em ordem decrescente

  2. Adicionar rótulos de valor em cada barra

  3. Utilizar uma paleta de cores divergente

Dica: Use geom bar() e scale fill brewer()

data(diamonds)

diamonds %>%
count(cut) %>%
arrange(desc(n)) %>%
ggplot(aes(x = reorder(cut, n), y = n, fill = cut)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = n), vjust = -0.3) +
  scale_fill_brewer(palette = "Spectral") +
  labs(
    title = "Quantidade de Diamantes por Tipo de Corte",
    x = "Tipo de Corte",
    y = "Quantidade"
    ) +
  theme_minimal()

Exercício 1.3 – Customização Avançada

Crie um boxplot da variável price por cut no dataset diamonds.

Personalize o gráfico com:

  1. Títulos e rótulos em português

  2. Cores customizadas para cada categoria

  3. Remoção da legenda (se desnecessária)

  4. Ajuste do ângulo dos rótulos do eixo X

ggplot(diamonds, aes(x = cut, y = price, fill = cut)) +
geom_boxplot() +
scale_fill_brewer(palette = "Set2") +
labs(
title = "Distribuição do Preço dos Diamantes por Tipo de Corte",
x = "Tipo de Corte",
y = "Preço (USD)"
) +
theme_minimal() +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45, hjust = 1)
)

Exercício 1.4 – Conceitos Fundamentais

Explique a diferença entre os geoms geom point() e geom jitter(). Em que situação cada um é mais apropriado?

Descreva o conceito de ”Gramática dos Gráficos” e como ele é implementado no ggplot2.

Diferença entre geom_point() e geom_jitter()

O geom_point() é utilizado para criar gráficos de dispersão tradicionais, nos quais cada observação é representada por um ponto em coordenadas exatas. Ele é mais apropriado quando há pouca ou nenhuma sobreposição entre os dados.

Já o geom_jitter() adiciona um pequeno deslocamento aleatório aos pontos. Ele é especialmente útil quando há grande sobreposição de observações (overplotting), permitindo melhor visualização da densidade e distribuição dos dados.

Gramática dos Gráficos

A Gramática dos Gráficos é um conceito que define gráficos como a combinação de componentes independentes, tais como dados, mapeamentos estéticos (aesthetics), geometrias (geoms), escalas, facetas e temas.

No ggplot2, essa gramática é implementada de forma modular, permitindo que o usuário construa gráficos complexos por meio da adição incremental de camadas. Essa abordagem torna os gráficos mais flexíveis, consistentes e reutilizáveis, além de facilitar a personalização avançada.

Conclusão

## A visualização de dados tratados por meio do RStudio encontram-se publicados em https://rpubs.com/dbalsamao/1381580
## Conforme orientado na aula de 03/12/2025, a Questão Aplicada - Dashboard é de execução OPCIONAL
knitr::include_graphics("https://rpubs.com/dbalsamao/1381580")