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.