ggplot(data = mtcars) + aes(x = wt, y = mpg, color = factor (cyl)) +
geom_point(size = 2) +
labs(
title = "Relacao entre Peso e Consumo de Combustivel",
x = "Peso do carro (wt)",
y = "Milhas por galao (mpg)",
color = "Nr de cilindros"
) +
theme_minimal()
# Agrupar e ordenar
contagem_agrup <- diamonds %>%
group_by(cut) %>%
summarise(total = n()) %>%
arrange(desc(total)) %>%
mutate(cut = factor(cut, levels = cut))
# Grafico
ggplot(contagem_agrup, aes(x = cut, y = total, fill = cut)) +
geom_bar(stat = "identity") +
geom_text(
aes(label = total),
vjust = -0.3,
size = 4
) +
labs(
title = "Contagem de Diamantes por Tipo de Corte",
x = "Tipo de Corte",
y = "Quantidade de Diamantes",
fill = "Corte"
) +
scale_fill_brewer(palette = "Pastel1") +
theme_minimal()
# colocar em portugues
diamonds_pt <- diamonds %>%
mutate(
cut = factor(
cut,
levels = c("Fair", "Good", "Very Good", "Premium", "Ideal"),
labels = c("Regular", "Bom", "Muito Bom", "Premium", "Ideal")
)
)
# Vetor de cores
cores <- c(
"#FBB4AE",
"#B3CDE3",
"#CCEBC5",
"#DECBE4",
"#FED9A6"
)
# Criar o boxplot
ggplot(diamonds_pt, aes(x = cut, y = price, fill = cut)) +
geom_boxplot(outlier.alpha = 0.3) +
labs(
title = "Preço dos Diamantes por Tipo de Corte",
x = "Tipo de Corte",
y = "Preço (em dólares)"
) +
scale_fill_manual(values = cores)+
theme_minimal() +
theme(
legend.position = "none", # remover legenda
axis.text.x = element_text(
angle = 45, hjust = 1 # ajustar ângulo do eixo X
)
)
Questão 1 : Explique a diferença entre os geoms geom_point() e geom_jitter(). Em que situação cada um é mais apropriado?
O geom_point() e o geom_jitter() são utilizados para criar gráficos de dispersão no ggplot2, porém apresentam uma diferença importante na forma como os pontos são exibidos.
O geom_point() plota os pontos exatamente nas posições originais dos dados. Ele é mais apropriado quando as variáveis são contínuas e os pontos não ficam muito sobrepostos, permitindo visualizar claramente a relação entre as variáveis.
Já o geom_jitter() adiciona um pequeno deslocamento aleatório aos pontos do gráfico. Esse deslocamento ajuda a evitar que vários pontos fiquem sobrepostos no mesmo local, o que é comum quando uma das variáveis é categórica ou possui poucos valores possíveis. Dessa forma, o gráfico fica mais fácil de interpretar.
Em resumo, o geom_point() é mais indicado quando os
dados estão bem distribuídos, enquanto o
geom_jitter() é mais adequado quando há
sobreposição de pontos e é necessário melhorar a visualização
da quantidade e distribuição dos dados.
Questão 2 : Descreva o conceito de “Gramática dos Gráficos” e como ele é implementado no ggplot2.
A Gramática dos Gráficos é um conceito apresentado por Leland Wilkinson no livro The Grammar of Graphics, que propõe que gráficos podem ser construídos de forma semelhante à linguagem escrita.
Assim como uma língua possui palavras e regras gramaticais para formar frases com significado, a visualização de dados também possui componentes básicos e regras que, quando combinados corretamente, formam gráficos informativos e consistentes.
No ggplot2 este conceito é implementado na forma como os gráficos são construídos, através de camadas que atribuem aos dados características estéticas, formas geométricas e outros elementos visuais. Assim, a combinação de todas essas camadas forma o gráfico final, que, na gramática, seria o equivalente a uma frase completa, com conteúdo e sentido.