Prova Final de Visualização de Dados

Exercício 1.1 - Introdução ao ggplot 2

library(ggplot2)

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 (milhares de libras)", 
    y = "Consumo (milhas por galão)",
    color = "Cilindros" 
  ) +
  theme_minimal()

Exercício 1.2 - Gráfico de Barras

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.6
## ✔ forcats   1.0.1     ✔ stringr   1.6.0
## ✔ lubridate 1.9.4     ✔ tibble    3.3.0
## ✔ purrr     1.2.0     ✔ tidyr     1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data_contagem <- diamonds %>%
  count(cut) %>%
  mutate(cut = fct_reorder(cut, n, .desc = TRUE)) 
ggplot(data = data_contagem, aes(x = cut, y = n, fill = cut)) +
  geom_col() + 
  geom_text(aes(label = n), vjust = -0.5, size = 4) +
  scale_fill_brewer(palette = "RdBu") +
  labs(
    title = "Contagem de Diamantes por Qualidade de Corte",
    x = "Qualidade do Corte",
    y = "Número de Diamantes",
    fill = "Corte" 
  ) +
  theme_minimal() +
  scale_y_continuous(expand = expansion(mult = c(0, 0.1)))

Exercício 1.3 - Customização Avançada

# 1. CARREGAR A BIBLIOTECA
library(ggplot2)

# 2. DEFINIR AS CORES
cores_customizadas <- c(
  "Fair" = "#FF0000",      
  "Good" = "#FF7420",      
  "Very Good" = "#FFFF00", 
  "Premium" = "#02C40F",   
  "Ideal" = "#006400"     
)

# 3. GERAR O GRÁFICO
ggplot(data = diamonds, aes(x = cut, y = price, fill = cut)) +
  geom_boxplot() +
  scale_fill_manual(values = cores_customizadas) +
  labs(
    title = "Distribuição de Preços de Diamantes por Qualidade de Corte",
    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

Primeira Questão

Geom_point() mostra pontos em coordenadas exatas, a precisão das coordenadas dos pontos é importante. Usada em variáveis contínuas existentes nos dois eixos. Quando não existe sobreposição de pontos.

Geom_jitter() usado quando existem pontos sobrepostos, ou seja, com coodernadas coincidentes. Um dos eixos (geralmente o da ordenada) apresenta números discretos. Revela pontos escondidos devido a sobreposição de dados.

Segunda Questão

Criada por Leland Wilkinson a Gramatica dos Gráficos é toda a filosofia em que o pacote ggplot foi baseado. Tem como intuito a criação dos gráficos de uma maneira organizada e estruturada, é comparada à construção de uma frase, pela estrutura gramatical. No ggplot2, os gráficos são montados pela sobreposição das camadas. As camadas são as seguintes:

  1. Dados (Data): É a base do gráfico, é o conjunto das informações a serem visualizadas. Todas as outras são derivadas dela.

  2. Estéticas (Aesthetics): Onde é definido como as variáveis do conjunto de dados serão mapeadas para propriedades visuais do gráfico, tornando os dados visíveis. Como a definição de posições dos eixos x e y, cores e tamanho.

  3. Geometrias (Geometries): Determina o que será desenhado no gráfico, como exemplo temos os gráficos de dispersão, de linhas e de barras.

  4. Estatísticas (Statistics): Realiza métodos da estatística antes de gerar os gráficos como modelos de regressão ou suavização de curvas.

  5. Facetas (Facets): Permite a divisão dos gráficos em subconjuntos de dados, permitindo a visualização de diferentes categorias de variáveis condicionantes.

  6. Coordenadas (Coordinates): Permite a escolha do sistema de coordenadas dos gráficos, como a cartesiana e polares.

  7. Tema (Theme): Controla a aparência não relacionada aos dados, como fonte, cores de fundos e posições de legendas.