Exercício 1.1 - Introdução ao ggplot2
Exercício 1.2 - Gráficos de Barras
Exercício 1.3 - Customização Avançada
Conceitos Fundamentais
geom_point():
geom_jitter():
Situação mais apropriada: Use
geom_point() para gráficos de dispersão normais e
geom_jitter() quando houver muitos pontos na mesma
posição.
A Gramática dos Gráficos é um conceito que divide gráficos em componentes:
No ggplot2: Construímos gráficos adicionando camadas
com o operador +:
Implementação ggplot(data = dados) + aes(x = variavel1, y = variavel2) + geom_point()
---
title: "Prova Final"
output:
flexdashboard::flex_dashboard:
orientation: rows
vertical_layout: scroll
theme: cosmo
source_code: embed
logo: pmmg_logo.svg
---
```{r setup}
library(flexdashboard)
library(ggplot2)
library(dplyr)
library(DT)
library(RColorBrewer)
```
<style>
.navbar-logo {
max-height: 40px !important;
width: auto;
}
</style>
# Exercício 1.1
**Exercício 1.1 - Introdução ao ggplot2**
## Row
```{r exercicio_1}
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 (1000 lbs)",
y = "Milhas por Galão (mpg)",
color = "Cilindros"
) +
theme_minimal()
```
# Exercício 1.2
**Exercício 1.2 - Gráficos de Barras**
## Row
```{r exercicio_2}
dados_diamantes <- diamonds %>%
count(cut) %>%
arrange(desc(n))
ggplot(dados_diamantes) +
aes(x = reorder(cut, -n), y = n, fill = cut) +
geom_bar(stat = "identity") +
geom_text(aes(label = n), vjust = -0.5) +
scale_fill_brewer(palette = "RdYlBu") +
labs(
title = "Contagem de Diamantes por Corte",
x = "Tipo de Corte",
y = "Quantidade"
) +
theme_minimal() +
theme(legend.position = "none")
```
# Exercício 1.3
**Exercício 1.3 - Customização Avançada**
## Row
```{r exercicio_3}
ggplot(diamonds, aes(x = cut, y = price, fill = cut)) +
geom_boxplot(alpha = 0.7, outlier.colour = "red", outlier.size = 1) +
scale_fill_manual(values = c("#264653", "#2a9d8f", "#e9c46a", "#f4a261", "#e76f51")) +
labs(
title = "Distribuição de Preços dos Diamantes por Corte",
subtitle = "Análise de variação de preços (USD)",
x = "Qualidade do Corte",
y = "Preço (USD)"
) +
theme_minimal() +
theme(
legend.position = "none",
axis.text.x = element_text(angle = 45, hjust = 1)
)
```
# Exercício 1.4
**Conceitos Fundamentais**
## Row
### Diferença entre geom_point() e geom_jitter()
**geom_point():**
- Plota cada pontos nas coordenadas exatas
- Ideal para dados contínuos sem sobreposição
- Mantém precisão espacial
**geom_jitter():**
- Adiciona ruído aleatório nos pontos
- Evita sobreposição de pontos
- Ideal para variáveis categóricas ou dados repetidos
**Situação mais apropriada:** Use `geom_point()` para gráficos de dispersão normais e `geom_jitter()` quando houver muitos pontos na mesma posição.
### Gramática dos Gráficos
A **Gramática dos Gráficos** é um conceito que divide gráficos em componentes:
1. **Dados** - dataset usado
2. **Estética (aes)** - mapeamento de variáveis (x, y, cor)
3. **Geometria (geom)** - tipo de gráfico (pontos, barras, linhas)
4. **Escalas** - controle de eixos e cores
5. **Tema** - aparência visual
**No ggplot2:** Construímos gráficos adicionando camadas com o operador `+`:
**Implementação**
ggplot(data = dados) +
aes(x = variavel1, y = variavel2) +
geom_point()