Lições do módulo (2/2)
Personalização e facetas
Além de definir geometrias e estética, ggplot2 permite personalizar completamente a aparência visual de um gráfico adicionando títulos, modificando temas e facetando (dividindo gráficos em subpainéis).
Títulos e rótulos: labs()
Para adicionar um título principal, legendas e personalizar rótulos de eixo ou títulos de legenda, adicionamos a camada labs():
ggplot(df, aes(x = age, y = income)) +
geom_point() +
labs(
title = "Income by Age",
subtitle = "2026 census data",
x = "Age (years)",
y = "Annual Income (EUR)",
color = "Gender"
)Temas visuais: theme_*()
ggplot2 inclui vários temas pré-empacotados que alteram planos de fundo, linhas de grade e tipografia. Alguns dos mais comuns são:
theme_gray()(o tema padrão com fundo cinza claro).theme_minimal()(um fundo branco limpo com linhas de grade finas).theme_classic()(um estilo clássico simples, sem linhas de grade de fundo).
ggplot(df, aes(x = age, y = income)) +
geom_point() +
theme_minimal() # Applies a clean, modern styleDivisão de gráficos em subpainéis: facet_wrap()
Faceting permite dividir um único gráfico em vários subparcelas (painéis) lado a lado com base no valor de uma variável categórica.
A função primária é facet_wrap() e usa notação de fórmula R (~ variable_name):
# Creates a separate subplot for each department
ggplot(df, aes(x = age, y = income)) +
geom_point() +
facet_wrap(~ department)Experimente você mesmo
Exercício 1: Adicione títulos e eixos
Dado o gráfico de dispersão, adicione uma camada labs() definindo o título (título) como 'Título', o rótulo do eixo x como 'Idade' e o rótulo do eixo y como 'Renda'.
Mostrar dica
Use labs(title = 'Title', x = 'Age', y = 'Income') concatenando-o com '+'.
Solução disponível após 3 tentativas
Exercício 2: Aplique um tema limpo
Aplique o tema gráfico theme_minimal() ao gráfico de dispersão abaixo para melhorar sua estética visual.
Mostrar dica
Use o sinal '+' e adicione a função theme_minimal().
Solução disponível após 3 tentativas
Exercício 3: Divida o gráfico com facet_wrap
Use a função facet_wrap() para dividir o gráfico de dispersão em diferentes painéis com base na coluna do departamento.
Mostrar dica
Use facet_wrap(~ Department) para dividir o gráfico.
Solução disponível após 3 tentativas
Exercício 4: Inverter eixos coordenados
Para tornar um gráfico de colunas com muitas categorias legível, você pode inverter os eixos xey. Adicione a camada coord_flip() ao gráfico de barras.
Mostrar dica
Use coord_flip() legando o pipeline ggplot com '+'.
Solução disponível após 3 tentativas
Exercício 5: Gráfico completo pronto para publicação
Crie um gráfico completo em df: mapeie idade para x, renda para y e cor para gênero dentro de geom_point(). Divida o gráfico usando facet_wrap() por departamento, adicione labs() com o título 'Salário por Idade' e, finalmente, aplique theme_minimal().
Mostrar dica
Combine todas as camadas usando '+': ggplot(...) + geom_point() + facet_wrap(~ Department) + labs(title = 'Salary by Age') + theme_minimal()
Solução disponível após 3 tentativas