11ª RPM
# Biblioteca
library(ggplot2)
# Base de Dados
data(mtcars)
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
# Gráfico de dispersão
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 (wt)",
y = "Consumo (mpg)",
color = "Número de Cilindros"
) +
theme_minimal()
# Base de dados
data(diamonds)
# Gráfico de barras com ordenação decrescente
ggplot(diamonds, aes(x = cut, fill = cut)) +
geom_bar() +
geom_text(
stat = "count",
aes(label = ..count..),
vjust = -0.3
) +
scale_x_discrete(
limits = names(sort(table(diamonds$cut), decreasing = TRUE))
) +
scale_fill_brewer(palette = "RdBu") +
labs(
title = "Contagem de Diamantes por Tipo de Corte",
x = "Tipo de Corte",
y = "Quantidade de Diamantes"
) +
theme_minimal()
# Base de dados
data(diamonds)
# Tradução dos níveis de corte
diamonds$cut <- factor(
diamonds$cut,
levels = c("Fair", "Good", "Very Good", "Premium", "Ideal"),
labels = c("Ruim", "Regular", "Bom", "Muito Bom", "Ótimo")
)
ggplot(diamonds, aes(x = cut, y = price, fill = cut)) +
geom_boxplot() +
scale_fill_manual(
values = c(
"Ruim" = "#d73027",
"Regular" = "#fc8d59",
"Bom" = "#fee090",
"Muito Bom" = "#91bfdb",
"Ótimo" = "#4575b4"
)
) +
labs(
title = "Distribuição do Preço dos Diamantes por Tipo de Corte",
x = "Tipo de Corte",
y = "Preço"
) +
theme_minimal() +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45, hjust = 1)
)
Segundo a abordagem apresentada na apostila de Visualização de Dados, ambos os geoms são utilizados para representar dados individuais, porém possuem finalidades distintas.
geom_point()
Plota os pontos exatamente nas coordenadas reais dos dados.
É mais apropriado quando:
Limitação:
Quando muitos pontos compartilham valores semelhantes, ocorre
sobreposição, dificultando a análise visual.
geom_jitter()
É uma variação de geom_point() que adiciona um pequeno deslocamento aleatório aos pontos.
É mais apropriado quando:
Vantagem:
Reduz a sobreposição e melhora a legibilidade da distribuição dos dados,
especialmente em variáveis categóricas.
A Gramática dos Gráficos é um conceito teórico que define a construção de gráficos como a combinação de componentes independentes, permitindo criar uma ampla variedade de visualizações a partir de regras bem definidas.
De acordo com a apostila de Visualização de Dados, essa gramática é composta, principalmente, por:
Implementação no ggplot2
O pacote ggplot2 implementa a Gramática dos Gráficos permitindo que o usuário construa visualizações de forma incremental, por meio do operador +.
Exemplo conceitual:
```r
ggplot(dados, aes(x, y)) +
geom_point() +
scale_y_continuous() +
theme_minimal()