Data Visualization

Dominando os Títulos de Subplots no Matplotlib: Duas Abordagens Eficazes

Spread the love

O Matplotlib oferece diversas maneiras de adicionar um único título abrangente a uma figura contendo múltiplos subplots. Isso melhora a legibilidade e fornece contexto crucial às suas visualizações. Este artigo explora dois métodos principais, destacando suas semelhanças e diferenças sutis.

Sumário

Usando pyplot.suptitle()

A função pyplot.suptitle() oferece uma maneira concisa de adicionar um título principal. Ela faz parte do módulo matplotlib.pyplot (tipicamente importado como plt). Este método é direto e amplamente utilizado.


import matplotlib.pyplot as plt

# Dados de exemplo
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]

# Criar subplots
fig, axes = plt.subplots(2, 1)

# Plotar dados
axes[0].plot(x, y1)
axes[0].set_title('Subplot 1')
axes[1].plot(x, y2)
axes[1].set_title('Subplot 2')

# Adicionar título principal
plt.suptitle('Título Principal da Figura', fontsize=14)

# Ajustar layout (crucial para prevenir sobreposição)
plt.tight_layout(rect=[0, 0.03, 1, 0.95]) 

plt.show()

A função plt.tight_layout() é essencial. Ela ajusta automaticamente os parâmetros do subplot para prevenir sobreposição de títulos. O parâmetro rect ajusta o layout; você pode precisar ajustar seus valores com base no comprimento do seu título e no número de subplots.

Usando figure.suptitle()

Alternativamente, o método figure.suptitle(), acessado via o próprio objeto figura, fornece funcionalidade equivalente. Esta abordagem se alinha com um estilo de programação orientado a objetos.


import matplotlib.pyplot as plt

# Dados de exemplo (mesmo que acima)
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]

# Criar subplots
fig, axes = plt.subplots(2, 1)

# Plotar dados
axes[0].plot(x, y1)
axes[0].set_title('Subplot 1')
axes[1].plot(x, y2)
axes[1].set_title('Subplot 2')

# Adicionar título principal usando o objeto figura
fig.suptitle('Título Principal da Figura (Orientado a Objetos)', fontsize=14)

# Ajustar layout
plt.tight_layout(rect=[0, 0.03, 1, 0.95])

plt.show()

Este código espelha o exemplo anterior, demonstrando a natureza intercambiável desses dois métodos.

Escolhendo o Método Certo

Ambos os métodos alcançam resultados idênticos. A escolha geralmente se resume à preferência pessoal ou estilo de codificação. pyplot.suptitle() é mais conciso, enquanto figure.suptitle() se alinha melhor com uma abordagem estritamente orientada a objetos. A consistência em seu projeto é fundamental. Lembre-se de sempre usar plt.tight_layout() ou ajustar manualmente os parâmetros do subplot para garantir uma figura limpa e legível.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *