library(ggplot2) library(dplyr) library(scales)
data(mtcars)
mtcars\(cyl <- as.factor(mtcars\)cyl)
ggplot(data = mtcars) + # Mapeamento estético: peso no X, consumo no Y, cor pelos cilindros aes(x = wt, y = mpg, color = cyl) + # Tipo de geometria: pontos de dispersão geom_point(size = 3) + # Título e Rótulos labs(title = “Relação entre Peso e Consumo de Combustível”, x = “Peso do Carro (Milhares de Libras)”, y = “Milhas por Galão (MPG)”, color = “Nº de Cilindros”) + # Aplicação do tema minimal theme_minimal()
data(diamonds)
diamond_counts <- diamonds %>% count(cut) %>% # Reordenar o fator ‘cut’ baseado na contagem ‘n’ (descendente) mutate(cut = reorder(cut, -n))
ggplot(data = diamond_counts, aes(x = cut, y = n, fill = cut)) + # Geometria de barra (geom_col usa os valores de Y já calculados) geom_col() + # Adicionar rótulos de valor (formatados com vírgulas) geom_text(aes(label = comma(n)), vjust = -0.5, size = 3) + # Utilizar uma paleta de cores divergente (ex: RdYlBu) scale_fill_brewer(palette = “RdYlBu”) + # Títulos e rótulos labs(title = “Contagem de Diamantes por Tipo de Corte”, x = “Tipo de Corte”, y = “Contagem de Diamantes”, fill = “Corte”) + # Tema e ajustes theme_minimal() + theme(legend.position = “none”) # Remover legenda
data(diamonds)
cores_customizadas <- c(“Fair” = “#E69F00”, “Good” = “#56B4E9”, “Very Good” = “#009E73”, “Premium” = “#F0E442”, “Ideal” = “#CC79A7”)
ggplot(data = diamonds, aes(x = cut, y = price, fill = cut)) + # Geometria de boxplot geom_boxplot() + # Títulos e rótulos em português labs(title = “Distribuição do Preço dos Diamantes por Qualidade de Corte”, x = “Qualidade do Corte”, y = “Preço (Dólares Americanos)”) + # Cores customizadas scale_fill_manual(values = cores_customizadas) + # Aplicação de tema theme_minimal() + # Ajustes de tema theme( # Remoção da legenda legend.position = “none”, # Ajuste do ângulo dos rótulos do eixo X axis.text.x = element_text(angle = 45, hjust = 1) )
A. Diferença entre geom_point() e geom_jitter()
O geom_point() plota pontos nas coordenadas exatas. O geom_jitter() adiciona ruído aleatório às coordenadas dos pontos.
geom_point(): Apropriado para variáveis contínuas em X e Y, onde a precisão da coordenada é crucial.
geom_jitter(): Essencial quando há overplotting (muitos pontos sobrepostos), especialmente com variáveis discretas, para revelar a densidade e a distribuição dos dados.
B. Conceito de “Gramática dos Gráficos”
A “Gramática dos Gráficos” (Grammar of Graphics, GoG) é um framework que descreve como qualquer visualização estatística pode ser construída pela combinação de componentes independentes. O ggplot2 implementa o GoG, permitindo a construção de gráficos em camadas:
Dados: A fonte da informação.
Mapeamentos Estéticos (aes): Variáveis mapeadas para atributos visuais (X, Y, cor, tamanho).
Geometrias (geom_*): A forma como os dados são desenhados (pontos, barras, linhas).
Escalas (scale_*): Controlam o mapeamento dos dados para os valores estéticos (eixos, legendas).
Facetas (facet_*): Subdividem o gráfico em múltiplas visualizações menores.
A construção em camadas no ggplot2 (usando o operador +) reflete essa gramática.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.