Explicações de Estatística
Marcar Sessão

ggplot2 em R: Gráficos Profissionais para Teses

O ggplot2 é a biblioteca de visualização mais usada em R. Produz gráficos de qualidade de publicação com código reproduzível — ideal para dissertações onde os gráficos precisam de ser exactamente iguais se os dados forem actualizados.

1. Instalação e estrutura básica

install.packages("ggplot2")
library(ggplot2)

# Estrutura base de qualquer gráfico ggplot2:
ggplot(data = df, aes(x = variavel_x, y = variavel_y)) +
  geom_point()   # tipo de gráfico

aes() define as estéticas (eixos, cor, forma). geom_*() define o tipo de gráfico. Adiciona-se camada a camada com +.

2. Gráficos mais usados em teses

Diagrama de dispersão

ggplot(df, aes(x = idade, y = nota)) +
  geom_point(alpha = 0.6) +
  geom_smooth(method = "lm", se = TRUE) +
  labs(x = "Idade", y = "Nota Final",
       title = "Relação Idade-Nota")

Box-plot por grupo

ggplot(df, aes(x = grupo, y = pontuacao,
               fill = grupo)) +
  geom_boxplot(alpha = 0.7) +
  geom_jitter(width = 0.1, alpha = 0.3) +
  labs(x = "Grupo", y = "Pontuação")

Histograma com densidade

ggplot(df, aes(x = score)) +
  geom_histogram(aes(y = after_stat(density)),
                 bins = 20, fill = "#0F766E",
                 alpha = 0.7) +
  geom_density(colour = "#065f46", linewidth = 1)

Gráfico de barras com erro

df_sum <- df |>
  group_by(grupo) |>
  summarise(M = mean(score), SE = sd(score)/sqrt(n()))
ggplot(df_sum, aes(x = grupo, y = M, fill = grupo)) +
  geom_col() +
  geom_errorbar(aes(ymin = M-SE, ymax = M+SE),
                width = 0.2)

3. Tema APA para publicação

O tema theme_classic() é o mais próximo das guidelines APA. Personalização adicional:

tema_apa <- theme_classic(base_size = 12) +
  theme(
    axis.title      = element_text(size = 11),
    axis.text       = element_text(size = 10, colour = "black"),
    legend.position = "bottom",
    plot.title      = element_text(size = 12, face = "bold",
                                   hjust = 0),
    panel.grid      = element_blank()
  )

# Aplicar a qualquer gráfico:
ggplot(df, aes(x = x, y = y)) +
  geom_point() +
  tema_apa +
  labs(title = "Figura 1. Título do gráfico.")

4. Facetas — múltiplos painéis

# Gráfico separado por grupo numa só figura:
ggplot(df, aes(x = idade, y = nota)) +
  geom_point() +
  geom_smooth(method = "lm") +
  facet_wrap(~ grupo, ncol = 2) +
  tema_apa

Usa facet_wrap() para uma variável e facet_grid() para duas variáveis.

5. Exportar em alta qualidade

# Guardar o último gráfico em PNG (300 DPI para impressão):
ggsave("figura1.png",
       width = 6, height = 4, units = "in",
       dpi = 300)

# PDF (vectorial — recomendado para teses digitais):
ggsave("figura1.pdf",
       width = 6, height = 4, units = "in")

Dimensões típicas APA: 6 × 4 pol. (coluna simples) ou 6.5 × 4.5 pol. (largura total).

Páginas relacionadas

Tidyverse

dplyr, tidyr — preparar dados para ggplot2.

Manipulação de Dados

Filtrar e transformar antes de visualizar.

Correlações em R

corrplot para matrizes de correlação.

Guia APA 7

Regras para figuras em APA.