Este relatório apresenta exercícios práticos de visualização de dados utilizando o pacote ggplot2, seguindo os princípios da Gramática dos Gráficos. Os exemplos utilizam datasets clássicos do R e demonstram diferentes tipos de gráficos, bem como técnicas de customização.
Carregue o dataset mtcars e crie um gráfico de dispersão (scatter plot) entre as variáveis mpg (milhas por galão) e wt (peso do carro).
Adicione ao gráfico os itens:
Título: ”Relação entre Peso e Consumo de Combustível”
Rótulos dos eixos X e Y
Cor diferenciada por número de cilindros (cyl)
Tema theme minimal() Dica: Use ggplot(data = mtcars) + aes(x = wt, y = mpg) + geom point()
data(mtcars)
mtcars$cyl <- factor(mtcars$cyl)
ggplot(data = mtcars, aes(x = wt, y = mpg, color = cyl)) +
geom_point(size = 3) +
labs(
title = "Relação entre Peso e Consumo de Combustível",
x = "Peso do carro (wt)",
y = "Consumo (milhas por galão)",
color = "Cilindros"
) +
theme_minimal()
Utilizando o dataset diamonds, crie um gráfico de barras mostrando a contagem de diamantes por corte (cut).
Questão : Modifique o gráfico para:
Ordenar as barras em ordem decrescente
Adicionar rótulos de valor em cada barra
Utilizar uma paleta de cores divergente
Dica: Use geom bar() e scale fill brewer()
data(diamonds)
diamonds %>%
count(cut) %>%
arrange(desc(n)) %>%
ggplot(aes(x = reorder(cut, n), y = n, fill = cut)) +
geom_bar(stat = "identity") +
geom_text(aes(label = n), vjust = -0.3) +
scale_fill_brewer(palette = "Spectral") +
labs(
title = "Quantidade de Diamantes por Tipo de Corte",
x = "Tipo de Corte",
y = "Quantidade"
) +
theme_minimal()
Crie um boxplot da variável price por cut no dataset diamonds.
Personalize o gráfico com:
Títulos e rótulos em português
Cores customizadas para cada categoria
Remoção da legenda (se desnecessária)
Ajuste do ângulo dos rótulos do eixo X
ggplot(diamonds, aes(x = cut, y = price, fill = cut)) +
geom_boxplot() +
scale_fill_brewer(palette = "Set2") +
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)
)
Explique a diferença entre os geoms geom point() e geom jitter(). Em que situação cada um é mais apropriado?
Descreva o conceito de ”Gramática dos Gráficos” e como ele é implementado no ggplot2.
O geom_point() é utilizado para criar gráficos de dispersão tradicionais, nos quais cada observação é representada por um ponto em coordenadas exatas. Ele é mais apropriado quando há pouca ou nenhuma sobreposição entre os dados.
Já o geom_jitter() adiciona um pequeno deslocamento aleatório aos pontos. Ele é especialmente útil quando há grande sobreposição de observações (overplotting), permitindo melhor visualização da densidade e distribuição dos dados.
A Gramática dos Gráficos é um conceito que define gráficos como a combinação de componentes independentes, tais como dados, mapeamentos estéticos (aesthetics), geometrias (geoms), escalas, facetas e temas.
No ggplot2, essa gramática é implementada de forma modular, permitindo que o usuário construa gráficos complexos por meio da adição incremental de camadas. Essa abordagem torna os gráficos mais flexíveis, consistentes e reutilizáveis, além de facilitar a personalização avançada.
## A visualização de dados tratados por meio do RStudio encontram-se publicados em https://rpubs.com/dbalsamao/1381580
## Conforme orientado na aula de 03/12/2025, a Questão Aplicada - Dashboard é de execução OPCIONAL
knitr::include_graphics("https://rpubs.com/dbalsamao/1381580")