knitr::include_graphics("25_BPM.jpg")

Disciplina: Visualização de dados

Exercício 1.1 - Introdução ao ggplot2

library(ggplot2)
data(mtcars)

ggplot(data = mtcars) + aes(x = wt, y = mpg, color = as.factor(cyl)) + geom_point() + labs(
  title = 'Relação entre peso e Consumo de combustível',
  x = 'Peso do carro (wt)',
  y = 'Milhas por galão (mpg)',
  color = 'Número de cilindros',
) + theme_minimal()

Exercício 1.2 - Gráfico de barras

library(ggplot2)
data(diamonds)

ggplot(data = diamonds, aes(x = forcats::fct_infreq(cut), fill = cut)) + geom_bar(show.legend = FALSE) + 
  
 geom_text(
    stat = "count",               
    aes(label = after_stat(count)), 
    vjust = -0.5,                
    size = 3                    
  ) +

  labs(
    title = 'Quantidade de diamantes por tipos de cortes (Ordem decrescente)',
    x = 'Qualidade do corte',
    y = 'Quantidade de diamantes',
    fill = 'Corte'
) + theme_minimal() + 
  
  scale_x_discrete(labels = c(
    "Ideal" = "Ideal",
    "Premium" = "Premium",
    "Very Good" = "Muito Bom",
    "Good" = "Bom",
    "Fair" = "Razoável"
  )) + scale_fill_brewer(palette = 'RdBu')

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

library(ggplot2)
data(diamonds)

ggplot(data = diamonds, aes(x = cut, y = price, fill = cut)) + geom_boxplot() +
  scale_x_discrete(labels = c(
    "Ideal" = "Ideal",
    "Premium" = "Premium",
    "Very Good" = "Muito Bom",
    "Good" = "Bom",
    "Fair" = "Razoável"
  )) + 
  labs(
    title = 'Variação do preço em relação ao qualidade do corte',
    x = 'Corte',
    y = 'Preço',
    
  ) + theme_minimal() + theme(legend.position = "none") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_fill_brewer(palette = "Spectral")

Exercício 1.4 - Conceitos fundamentais

a) Explique a diferença entre os geoms geom point() e geom jitter(). Em que situação cada um é mais apropriado?

No geom_point() a função desenha o ponto especificamente nas coordenadas x e y, precisamente, enquanto que no geom_jitter() a função desenha cada ponto numa direção aleatória, de forma que pontos com as mesmas coordenadas não ficam sobrepostos.

b) Descreva o conceito de ”Gramática dos Gráficos”e como ele é implementado no ggplot2.

É uma abordagem baseada em camadas, onde a combinação dessas camadas resulta na visualização final.

As principais camadas de construção são:

Dados, função para iniciar o gráfico ggplot(data = …); estética, função aes(), através da posição (x, y), cor (color, fill), tamanho (size), forma (shape), etc; geometria, através da função geom(), exemplos: geom_line(), geom_bar(), geom_boxplot, etc; facetas, função facet_wrap(), entre outras; estatística, função stat(); coordernadas, função coord_flip, por exemplo e, função Theme(), tema, que diz respeito a aparência não relacionada a dados.