
Exercício 1.1 - Gráfico de Dispersão (carro: peso x consumo de
combustível x cilindros)
# 1. Cria o dataset modificado, convertendo 'cyl' para fator
mtcars_plot <- mtcars %>%
mutate(cyl_fator = as.factor(cyl))
# 2. Salva o gráfico em uma variável 'p'
# O código de plotagem é movido para este CHUNK VISÍVEL
p <- ggplot(data = mtcars_plot, aes(x = wt, y = mpg)) +
# (c) Cor diferenciada por número de cilindros (cyl)
geom_point(aes(color = cyl_fator), size = 3) +
# (a) Título e (b) Rótulos dos eixos X e Y
labs(
title = "Relação entre Peso e Consumo de Combustível",
x = "Peso do Carro (milhares de libras)",
y = "Consumo de Combustível (milhas por galão - MPG)",
color = "Cilindros" # Rótulo da legenda
) +
# (d) Tema theme_minimal()
theme_minimal()
# 3. Exibe/imprime o objeto de plotagem 'p' no final do chunk (obrigatório para exibição)
p

Exercício 1.2 - Gráfico de Barras (Diamantes: quantidade x qualidade
do corte)
# 1. Pré-processamento e Cálculo
# Calcula a contagem de diamantes por categoria de corte e a salva
# no novo dataset 'contagem_corte'.
contagem_corte <- diamonds %>%
group_by(cut) %>%
summarise(Contagem = n()) %>%
# (a) Ordenar as barras em ordem decrescente
# Reordena o fator 'cut' baseado nos valores de Contagem
mutate(cut = reorder(cut, -Contagem))
# 2. Criação do Gráfico
ggplot(contagem_corte, aes(x = cut, y = Contagem)) +
# Cria o gráfico de barras (geom_col é preferível para dados pré-sumarizados)
geom_col(aes(fill = cut)) +
# (c) Utilizar uma paleta de cores divergente (Dica: usando 'BrBG')
# Note: Embora seja dados qualitativos, usamos Divergente aqui conforme solicitado.
scale_fill_brewer(palette = "BrBG") +
# (b) Adicionar rótulos de valor em cada barra
# geom_text adiciona o valor da contagem (Contagem) na parte superior da barra
geom_text(aes(label = Contagem),
vjust = -0.5, # Ajusta a posição verticalmente acima da barra
size = 3.5) +
# Adiciona rótulos e tema
labs(
title = "Contagem de Diamantes por Qualidade de Corte",
x = "Qualidade do Corte",
y = "Quantidade de Diamantes",
fill = "Corte"
) +
theme_minimal() +
theme(legend.position = "none") # Remove a legenda redundante (já mapeada no eixo X)

Exercício 1.4 - Conceitos Fundamentais: Questões.
Questão a) A diferença mais significante entre geom_point() e
geom_jitter() está na forma como eles apresentam os pontos de dados que
possuem posições sobrepostas (overplotting).O geom_point é indicado para
aplicações com eixos contínuos e grande parte dos valores é única,
demandando precisão, enquanto o geom_jitter é mais adequado quando se
usam variáveis discretas e categóricas e há necessidade de se visualizar
cada valor pontuado no gráfico, ainda que sobreposto.
Questão b) A gramática dos gráficos objetiva associar cada
componente de um gráfico a uma estrutura semelhante a formação de uma
frase. Isso possibilita a elaboracão de diversos gráficos de forma mais
eficiente e estruturada. No ggplot2, os gráficos são montados por meio
de camadas e atribuem-se aos dados características estéticas, como
tamanho, cor e opacidade, formas geométricas, como barras, linhas e
pontos, e outros elementos visuais, como escalas, temas e legendas. A
combinação de todas as camadas resulta no gráfico final.