Discente: Guilherme de P. Gonzaga Número de Polícia: 170.421-2 CPF: 091.472.666-86
# Carregando a biblioteca necessária
library(ggplot2)
# Criando o gráfico solicitado no Exercício 1.1 [cite: 11]
ggplot(data = mtcars) +
aes(x = wt, y = mpg, color = as.factor(cyl)) +
geom_point() +
labs(title = "Relação entre Peso e Consumo de Combustível", # Requisito (a) [cite: 13]
x = "Peso (wt)", # Requisito (b) [cite: 14]
y = "Milhas por Galão (mpg)", # Requisito (b) [cite: 14]
color = "Cilindros") + # Requisito (c) [cite: 15]
theme_minimal() # Requisito (d) [cite: 16]
# Carregando a biblioteca para manipular dados
library(dplyr)
##
## Anexando pacote: 'dplyr'
## Os seguintes objetos são mascarados por 'package:stats':
##
## filter, lag
## Os seguintes objetos são mascarados por 'package:base':
##
## intersect, setdiff, setequal, union
# Criando o gráfico conforme os requisitos (a), (b) e (c)
diamonds %>%
count(cut) %>%
ggplot(aes(x = reorder(cut, -n), y = n, fill = cut)) +
geom_bar(stat = "identity") +
geom_text(aes(label = n), vjust = -0.5) + # Rótulo de valor em cada barra
scale_fill_brewer(palette = "RdYlBu") + # Paleta de cores divergente
labs(title = "Contagem de Diamantes por Corte",
x = "Qualidade do Corte",
y = "Quantidade") +
theme_minimal()
library(ggplot2)
library(dplyr)
# 1. Traduzindo as categorias dos dados para Português
diamonds_pt <- diamonds %>%
mutate(cut = recode(cut,
"Fair" = "Regular",
"Good" = "Bom",
"Very Good" = "Muito Bom",
"Premium" = "Premium",
"Ideal" = "Ideal"))
# 2. Gerando o gráfico com os dados traduzidos
ggplot(diamonds_pt, aes(x = cut, y = price, fill = cut)) +
geom_boxplot() +
# (a) Títulos e rótulos totalmente em português
labs(
title = "Distribuição de Preços por Qualidade de Corte",
x = "Qualidade do Corte",
y = "Preço (US$)"
) +
# (b) Cores customizadas [cite: 84]
scale_fill_viridis_d() +
theme_minimal() +
# (c) Remoção da legenda e (d) Ajuste do ângulo do eixo X [cite: 85, 86]
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)
)
Exercício 1.4 - Conceitos de Visualização 1. Diferença entre geom_point() e geom_jitter():
geom_point(): É utilizado para plotar pontos nas suas coordenadas exatas. É ideal quando os dados são precisos e não existe sobreposição de muitos pontos no mesmo local.
geom_jitter(): Adiciona um pequeno ruído aleatório à posição dos pontos. É a escolha correta quando existe o problema de overplotting (muitos pontos uns sobre os outros), permitindo visualizar a real densidade e distribuição dos dados que, de outra forma, pareceriam um único ponto.
A “Gramática dos Gráficos” é uma teoria que propõe que um gráfico pode ser construído de forma estruturada através da combinação de camadas independentes.
No pacote ggplot2, este conceito é implementado permitindo que o utilizador adicione camadas de dados, mapeamentos estéticos (cores, eixos) e geometrias (pontos, barras, linhas) utilizando o operador + para somar estes elementos e formar a visualização final.