Railon Quintão de Assis, 3º SARGENTO PM, 173452-4 E-mail: railon.assis@gmail.com
library(ggplot2)
mtcars |>
ggplot(aes(wt, mpg, color = factor(cyl))) +
geom_point(size = 3, alpha = 0.7) +
labs(
title = "Relação entre Peso e Consumo de Combustível",
subtitle = "Análise baseada no dataset mtcars",
x = "Peso (1000 lbs)",
y = "Milhas por Galão (mpg)",
color = "Cilindros"
) +
theme_minimal()
library(ggplot2)
ggplot(diamonds, aes(x = reorder(cut, cut, function(x) -length(x)), fill = cut)) +
geom_bar() +
geom_text(
stat = "count",
aes(label = after_stat(count)),
vjust = -0.5
) +
scale_fill_brewer(palette = "RdYlBu") +
labs(
title = "Contagem de Diamantes por Corte",
x = "Tipo de Corte",
y = "Quantidade"
) +
theme_minimal()
library(ggplot2)
data(diamonds)
diamonds$cut <- factor(
diamonds$cut,
levels = c("Fair", "Good", "Very Good", "Premium", "Ideal"),
labels = c("Ruim", "Regular", "Bom", "Muito Bom", "Ótimo")
)
ggplot(diamonds, aes(x = cut, y = price, fill = cut)) +
geom_boxplot() +
scale_fill_manual(
values = c(
"Ruim" = "#FF0000",
"Regular" = "#FF8C00",
"Bom" = "#FFD700",
"Muito Bom" = "#00FF00",
"Ótimo" = "#007BFF"
)
) +
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 Questão 1: Diferença entre geom_point() e geom_jitter() Diferença: A principal diferença está na precisão da plotagem das coordenadas: geom_point(): Plota os pontos exatamente nas coordenadas x e y definidas nos dados. Se houver múltiplas observações com os mesmos valores (ou muito próximos), os pontos ficarão uns sobre os outros, parecendo um único ponto. geom_jitter(): Adiciona um pequeno “ruído” aleatório (deslocamento) à posição de cada ponto. Isso não altera os dados originais, apenas a visualização, espalhando levemente os pontos para que não fiquem sobrepostos. Quando usar cada um: geom_point(): É mais apropriado quando você precisa de precisão exata ou está trabalhando com variáveis contínuas onde a sobreposição não é um problema grave (ex: relação entre Peso e Altura com muitas casas decimais). geom_jitter(): É mais apropriado para evitar o overplotting (sobreposição excessiva), comum em dados discretos ou categóricos (ex: notas de 1 a 5, número de cilindros de um carro). Ele permite visualizar a densidade de dados onde, de outra forma, veríamos apenas uma linha ou ponto. Questão 2: Gramática dos Gráficos e implementação no ggplot2 Conceito: A “Gramática dos Gráficos” (The Grammar of Graphics), proposta originalmente por Leland Wilkinson, é uma estrutura teórica que define um gráfico não como uma unidade única e rígida (como “um gráfico de pizza” ou “um gráfico de barras”), mas sim como uma construção em camadas de componentes independentes. A ideia é que qualquer visualização estatística pode ser descrita mapeando dados a atributos estéticos (cor, tamanho, forma) e objetos geométricos (pontos, linhas, barras) em um sistema de coordenadas. Implementação no ggplot2: Hadley Wickham implementou esse conceito no pacote ggplot2 através de um sistema de camadas somadas pelo operador +. Para construir um gráfico, o usuário define explicitamente esses componentes: Dados (Data): O dataset base. Mapeamento Estético (Aesthetics - aes): O que representa o eixo X, eixo Y, as cores, os tamanhos, etc. Geometrias (Geoms): A forma visual que representará os dados (geom_point, geom_bar, geom_line). Facetas (Facets): A divisão do gráfico em subplots baseados em categorias (facet_wrap). Estatísticas (Stats): Transformações nos dados (ex: contagem, média, regressão linear). Coordenadas (Coordinates): O espaço onde o gráfico é desenhado (cartesiano, polar). Temas (Themes): A aparência visual não relacionada aos dados (fundo, fontes, eixos).