O básico do pacote ggplot2

O ggplot2 é um pacote do R baseado na gramática dos gráficos, que permite criar visualizações de dados de forma estruturada e personalizada. Ele segue a filosofia de camadas, onde cada elemento do gráfico é adicionado passo a passo.


Estrutura Básica

Todo gráfico no ggplot2 é construído com:

if(!require(readxl)) install.packages("readxl")
Carregando pacotes exigidos: readxl
Warning: package 'readxl' was built under R version 4.3.3
library(readxl) 

if(!require(ggplot2)) install.packages("ggplot2")
Carregando pacotes exigidos: ggplot2
library(ggplot2) 

milho <- read_excel("dados-diversos.xlsx",
                       sheet = "milho")

ggplot(data = milho, aes(x = hybrid, y = yield)) +  
  geom_jitter() +  # Camada de geometria (pontos, linhas, barras, etc.)
  labs() +    # Rótulos (título, eixos)
  theme()     # Ajustes estéticos (cores, fontes, fundo)

Principais Funções e Camadas

A. ggplot()

  • Define os dados e mapeamentos estéticos (aes).
    Exemplo:
milho <- read_excel("dados-diversos.xlsx",
                       sheet = "milho")

ggplot(milho, aes(x = hybrid, y = yield))

**B. Geometrias (geom_*)**

  • Define a forma visual dos dados:
    • geom_point(): Gráfico de dispersão.
    • geom_line(): Linhas.
    • geom_bar()/geom_col(): Barras.
    • geom_histogram(): Histograma.
    • geom_boxplot(): Boxplot.
    • geom_smooth(): Linha de tendência (regressão).

Exemplo:

ggplot(milho, aes(x = hybrid, y = yield))+
  geom_boxplot(outlier.color = "white") +
  geom_jitter(color = "blue", size = 1) +
  theme_classic()

Objetos da categoria “geom” podem ser utilizados de forma conjunta, sendo que os últimos a serem adicionados ao script aparecerão nas camadas mais acima.

**C. Escalas (scale_*)**

  • Controlam como os dados são mapeados visualmente:
    • scale_x_continuous()/scale_y_continuous(): Ajustam eixos contínuos.
    • scale_color_manual(): Cores personalizadas.
    • scale_fill_gradient(): Preenchimento gradiente.

Exemplo:

ggplot(milho, aes(x = hybrid, y = yield, color = block))+  
  geom_jitter() +
  scale_color_distiller()

Nesse caso, os comandos “scale_color” interagem com o que está definido na variável “color”, dentro de “aes”. Essa interação pode ser moldada de forma manual, ou usando paletas prontas.

**D. Facetas (facet_*)**

  • Divide o gráfico em subgráficos por categoria:
    • facet_wrap(~var): Divide em painéis.
    • facet_grid(var1 ~ var2): Grade 2D.

Exemplo:

ggplot(milho, aes(x = hybrid, y = yield))+  
  geom_jitter() + 
  facet_wrap(~method) 

E. Rótulos e Temas (labs(), theme())

  • labs(): Adiciona títulos e legendas.
  • theme_*(): Estilos pré-definidos (theme_bw(), theme_minimal()).
  • theme(): Personalização avançada (fontes, cores, fundo).

Exemplo:

ggplot(milho, aes(x = hybrid, y = yield))+  
  geom_boxplot() +  
  labs(title = "Efeitos dos híbridos na produção de milho", x = "Híbridos (wt)", y = "Produção") +  
  theme_minimal()  

Essas são apenas algumas funções básicas do pacote. Há mais uma combinação enorme de possibilidades para moldar diferentes gráficos, com diversas finalidades. O ggplot2 é um pacote que apresenta a possibilidade de integração com outros pacotes. Alguns exemplos são:

  • ggsave: Salvar gráficos (“nome_do_arquivo.png”).
  • patchwork: Unir gráficos para avaliação conjunta.
  • ggthemes: Adiciona mais possibilidades de temáticas para os gráficos.