Carregue o dataset mtcars e crie um gr´afico de dispers˜ao (scatter
plot) entre as variáveis mpg (milhas por galão) e wt (peso do
carro).
Adicione ao gráfico os itens:
(a) Tíıtulo: “Relação entre Peso e Consumo de Combustível”
(b) Rótulos dos eixos X e Y
(c) Cor diferenciada por número de cilindros (cyl)
(d) Tema theme minimal()
Dica: Use ggplot(data = mtcars) + aes(x = wt, y = mpg) + geom point()
ggplot(data = mtcars, aes(x = wt, y = mpg, color = factor(cyl))) +
geom_point(size = 3) + labs( title = "Relação entre Peso e Consumo de Combustível", x = "Peso do carro (wt)",
y = "Milhas por galão (mpg)",color = "Cilindros"
) + theme_minimal()
Utilizando o dataset diamonds, crie um gráfico de barras mostrando a
contagem de diamantes por corte (cut).
Modifique o gráfico para:
(a) Ordenar as barras em ordem decrescente
(b) Adicionar róotulos de valor em cada barra
(c) Utilizar uma paleta de cores divergente
Dica: Use geom bar() e scale fill brewer()
dados <- diamonds %>%
count(cut) %>%
arrange(desc(n))
ggplot(dados, aes(x = reorder(cut, -n), y = n, fill = n)) +
geom_bar(stat = "identity") +
geom_text(aes(label = n), vjust = -0.5) +
scale_fill_distiller(palette = "Spectral", direction = 1) +
labs(
title = "Contagem de Diamantes por Tipo de Corte",
x = "Corte (cut)",
y = "Quantidade"
) +
theme_minimal()
Crie um boxplot da variável price por cut no dataset diamonds.
Personalize o gráfico com:
(a) Títulos e rótulos em português
(b) Cores customizadas para cada categoria
(c) Remoção da legenda (se desnecessária)
(d) Ajuste do ângulo dos rótulos do eixo X
diamonds2 <- diamonds %>%
mutate(cut_pt = case_when(
cut == "Fair" ~ "Regular",
cut == "Good" ~ "Bom",
cut == "Very Good" ~ "Muito Bom",
cut == "Premium" ~ "Premium",
cut == "Ideal" ~ "Ideal"
))
ggplot(diamonds2, aes(x = cut_pt, y = price, fill = cut_pt)) +
geom_boxplot() +
labs(
title = "Distribuição dos Preços por Tipo de Corte",
x = "Tipo de Corte",
y = "Preço (USD)"
) +
scale_fill_manual(values = c(
"Regular" = "#d73027",
"Bom" = "#fc8d59",
"Muito Bom" = "#fee08b",
"Premium" = "#91bfdb",
"Ideal" = "#4575b4"
)) +
theme_minimal() +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45, hjust = 1)
)
Resposta
O comando geom_point() cria pontos exatamente nas coordenadas originais dos dados sendo ideal quando não há muitos pontos sobrepostos, permitindo visualizar cada ponto de forma precisa.
O comando geom_jitter() adiciona uma pequena variação aleatória (jitter) na posição dos pontos, evitando sobreposição quando muitas pontos têm valores idênticos ou muito próximos, alterando apenas a visualização, não os dados.
Resposta
A Gramática dos Gráficos é um modelo criado por Leland Wilkinson, que descreve qualquer visualização como a combinação de componentes básicos: dados, mapeamentos estéticos (aes), geometrias (geoms), transformações estatísticas (stats), escalas, sistema de coordenadas, facetas e tema.
No ggplot2 essa gramática é implementada como um sistema de camadas: os dados são definidos e posteriormente adicionadas as camadas através de funções como aes, geoms,stats, scales,coords, facets e theme. Cada parte do gráfico corresponde diretamente a um dos componentes da gramática.