# Adicionando o pacote dplyr para pré-cálculo
library(dplyr)
# 1. Pré-cálculo da contagem (frequência) e ordenação dos dados
dados_contagem <- diamonds %>%
group_by(cut) %>%
summarise(n = n()) %>%
ungroup() %>%
# 2. Ordena o fator 'cut' com base na contagem 'n'
mutate(cut = reorder(cut, n))
# 3. Gerar o gráfico usando os dados pré-calculados (stat="identity")
ggplot(dados_contagem, aes(x = cut, y = n, fill = cut)) +
# stat="identity" força o gráfico a usar a altura 'n' (contagem)
geom_bar(stat = "identity") +
# Adiciona rótulos de valor
geom_text(aes(label = n), vjust = -0.5, size = 4) +
# Paleta de Cores
scale_fill_brewer(palette = "Spectral", name = "Tipo de Corte") +
# Ajustes estéticos
labs(
title = "Contagem de Diamantes por Qualidade de Corte (Cut)",
x = "Qualidade do Corte",
y = "Número de Diamantes"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold"),
legend.position = "none"
)
