Questões Gerais - Dashboard

Introdução ao ggplot

Código fonte para o gráfico:

dt<-datasets::"mtcars"#esta linha pode ser desconsiderada quando se utiliza base nativa do R
ggplot ( dt, aes (x=wt, y=mpg) ) + #camada de dados
  geom_point (aes(color = factor(cyl)),size=3) + #camada de geometrias/camada estética
  geom_smooth(formula = NULL) + #camada de geometrias
  theme_minimal() + #canada de tema
  theme(plot.title = element_text(hjust = 0.5), # Centraliza o título
        plot.subtitle = element_text(hjust = 0.5)) + # Centraliza o subtítulo
  labs(title="Relação entre Peso e Consumo de Combustível", #definição dos label's
       subtitle = "Pacote ggplot",
       x="peso do carro",
       y="milhas por galão",
       color="Qtd. Cilindros",
       caption="Dados: R, - Elaboração: Carlos E. Corrêa")

Gráficos de Barras

Código fonte para o gráfico:

ggplot (diamonds, aes(x=cut, fill=cut)) + # a base de dados nativa pode ser utilizada diretamente na função
  geom_bar() + #não ha obrigatoriedade de parâmetros para a função
  geom_text(
    stat = "count", # indica a variável temporária 'count' que recebe a contagem de observações para cada                        categoria
    aes(label = after_stat(count)),
    #aes(label = after_stat(count), y = after_stat(count)), # ALTERNATIVA FUNCIONAL
    vjust = -0.5,            # Centraliza verticalmente 
    color = "black",        # Cor do label
    fontface = "italic") +     # Deixa o texto em negrito
  scale_fill_brewer(palette ="Spectral", direction = -1) + #define escala de cor e direção 
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5), # Centraliza o título
        plot.subtitle = element_text(hjust = 0.5)) + # Centraliza o subtítulo
labs(title="Contagem de Diamantes",
     subtitle ="Rótulo de Valor (geom_text)" ,
     fill="Corte",
     x="corte",
     y="quantidade",
      caption="Dados: R, - Elaboração: Carlos E. Corrêa")

Customização Avançada

Código fonte para o gráfico:

library(tidyverse)
#levels(diamonds$cut)

diamonds_pt <- diamonds %>%
  mutate(
    cut_pt = fct_recode(cut,              #fct_recode(col,"novo"="antigo")->altera manualmente os valores
                      "Razoavel"="Fair",
                      "Bom"="Good",
                      "Muito Bom"="Very Good",
                      "Premium"="Premium",
                      "Ideal"="Ideal")
)
#levels(diamonds_pt$cut_pt)

cores <- c("green", "yellow", "blue", "pink", "orange") #o vetor deve conter o numero de cores compativel com o numero de itens do grafico

ggplot(diamonds_pt, aes(x=cut_pt, y= price, fill=cut_pt)) +
  geom_boxplot() +
  scale_fill_manual(values=cores)+ #para cores personalizadas deve usar (_manual)
  theme_minimal()+
  theme(plot.title = element_text(hjust = 0.5), # Centraliza o título
        plot.subtitle = element_text(hjust = 0.5)) + # Centraliza o subtítulo
  labs(
    title="Preço por Corte",
    subtitle ="geom_boxplot/mutate",
    x="Corte",
    y="Preço",
    fill="Corte",
      caption="Dados: R, - Elaboração: Carlos E. Corrêa") 

Conceitos Fundamentais

A diferença entre geom_point() e geom_jitter()

Os dois são utilizados no gráfico de dispersão, a aplicação das duas formas se diferencia na maneira de plotar os pontos no gráfico.

O geom_point() plota os pontos obedecendo as coordenadas ‘x e y’, o que pode gerar dificuldade de identificação e quantificação devido à sobreposição.

O geom_jitter() desloca lateralmente a apresentação no eixo ‘x’, o que facilita a visualização.

A utilização do geom_point() é mais indicada nos casos em que o posicionamento correto nas coordenadas seja fundamental, quando houver poucos pontos ou quando a sobreposição não for um problema. O geom_jitter() é indicado nos casos em que vários pontos ocupariam as mesmas coordenadas, quando a compreensão da densidade for importante e se a variação lateral não comprometa a interpretação do gráfico.

Gramática dos Gráficos

O conceito “Gramática dos Gráficos” associa a construção dos gráficos à construção gramatical de frases. Evidencia a modularização do código, onde, cada módulo é responsável por um aspecto na construção. Este sistema acaba por definir camadas de construção.

Sua implementeção no ggplot(referência a Grammar of Graphics) é dada pela associação de camadas conectadas pelo operador “+”. A construção do grafico segue uma sequência:

  • Inicialização -> ggplot().

  • Adição de Camadas -> geom_bar(), geom_point, etc.

  • Refinamento -> tema, label, facetas, etc


Prova final do Módulo I, disciplina Visualização de Dados. Por Carlos Eduardo Corrêa