library(ggplot2)
library(dplyr)
library(cowplot)
library(patchwork)
library(grid)
library(magick)
arquivo_imagem <- "logo.png"
header_grob <- if (file.exists(arquivo_imagem)) {
ggdraw() + draw_image(arquivo_imagem, scale = 1)
} else {
ggdraw() +
draw_label("Logo não encontrada", color = "red", size = 16, fontface = "bold") +
theme(plot.background = element_rect(fill = "#f8f9fa"))
}
grafico_carros <- ggplot(
mtcars,
aes(x = wt, y = mpg, color = factor(cyl))
) +
geom_point(size = 5, alpha = 0.9) +
labs(
title = "Relação entre Peso e Consumo de Combustível",
subtitle = "18ª RPM - PMMG",
x = "Peso (x1000 lbs)",
y = "Milhas por Galão",
color = "Cilindros"
) +
theme_minimal() +
theme(
plot.title = element_text(face = "bold", size = 16),
legend.position = "bottom"
) +
scale_color_manual(
values = c("#E74C3C", "#2ECC71", "#3498DB")
)
layout_final <- header_grob / grafico_carros + plot_layout(heights = c(1, 5))
layout_final
dados_diamante <- diamonds %>%
count(cut) %>%
mutate(cut = reorder(cut, n))
grafico_barras <- ggplot(
dados_diamante,
aes(x = cut, y = n, fill = cut)
) +
geom_col() +
geom_text(aes(label = scales::comma(n)), vjust = -0.5, size = 3.5) +
scale_fill_brewer(palette = "Spectral") +
labs(
title = "Quantidade de Diamantes por Tipo de Corte",
x = "Tipo de Corte",
y = "Quantidade Total"
) +
theme_minimal() +
theme(legend.position = "none")
grafico_barras
grafico_box <- ggplot(
diamonds,
aes(x = cut, y = price, fill = cut)
) +
geom_boxplot() +
labs(
title = "Distribuição de Preços por Corte",
subtitle = "Análise de variação de valores",
x = "Qualidade do Corte",
y = "Preço (USD)"
) +
scale_fill_manual(
values = c("#1abc9c", "#3498db", "#9b59b6", "#e67e22", "#e74c3c")
) +
theme_light() +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45, hjust = 1)
)
grafico_box
## Exercício 1.4 – Conceitos Fundamentais
geom_point() e
geom_jitter()geom_point() plota os pontos exatamente nas coordenadas
(x, y). É ideal quando não há sobreposição excessiva.geom_jitter() adiciona uma pequena perturbação
aleatória aos pontos, evitando sobreposição (“overplotting”). É útil
quando há muitos pontos idênticos ou discretos.A “Gramática dos Gráficos” é um sistema conceitual para descrever e
construir gráficos estatísticos. No ggplot2, ela é
implementada através de camadas (layers) independentes: dados, estética
(aes), geometria (geom), escalas, facetas, temas, etc. Isso permite
construir visualizações complexas de forma modular e lógica.