Como posicionar Gráficos Lado a Lado com Matplotlib

Ana Maria Gomes
5 minutos de leitura

Conteúdos do tutorial

Para você que já tem familiaridade com a linguagem Python e deseja aprimorar suas habilidades em visualização de dados, saber como posicionar gráficos lado a lado é uma técnica valiosa. Neste artigo, vamos explorar como utilizar a biblioteca Matplotlib para criar layouts de gráficos adjacentes, permitindo comparações diretas e uma apresentação de dados mais eficiente.

Entendendo a Estrutura de Subplots

O Matplotlib oferece uma abordagem flexível para organizar múltiplos gráficos em uma única figura através do uso de subplots. A função plt.subplots() é uma ferramenta poderosa que facilita essa tarefa, permitindo definir o número de linhas e colunas de gráficos que desejamos em nossa figura.

Exemplo Básico de Subplots

Vamos começar com um exemplo simples, posicionando dois gráficos lado a lado:

import matplotlib.pyplot as plt

# Dados de exemplo
x = [1, 2, 3, 4]
y1 = [10, 20, 25, 30]
y2 = [40, 15, 20, 25]

# Criação de uma figura e dois subplots lado a lado
fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(10, 4))

# Primeiro gráfico
ax1.plot(x, y1, 'r--')
ax1.set_title('Gráfico 1')

# Segundo gráfico
ax2.plot(x, y2, 'g*-')
ax2.set_title('Gráfico 2')

# Ajuste automático do layout
plt.tight_layout()
plt.show()
como posicionar gráficos lado a lado com matplotlib

Neste exemplo, nrows=1 e ncols=2 indicam que queremos uma linha com dois gráficos lado a lado. A função plt.tight_layout() é utilizada para ajustar automaticamente o espaçamento entre os gráficos, evitando sobreposições indesejadas.

Personalizando a Disposição dos Subplots

Podemos ir além e personalizar a disposição dos subplots para atender às necessidades específicas de nossa análise de dados.

Exemplo com Diferentes Tamanhos de Subplots

Suponha que queremos enfatizar um gráfico em detrimento do outro. Podemos fazer isso manipulando as dimensões dos eixos:

import numpy as np

# Dados de exemplo
x = np.linspace(0, 2*np.pi, 400)
y1 = np.sin(x**2)
y2 = np.cos(x**2)

# Criação de uma figura com subplots de tamanhos diferentes
fig = plt.figure(figsize=(12, 5))
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)

# Gráfico maior
ax1.plot(x, y1)
ax1.set_title('Gráfico Maior')

# Gráfico menor
ax2.plot(x, y2)
ax2.set_title('Gráfico Menor')

plt.tight_layout()
plt.show()
como posicionar gráficos lado a lado com matplotlib

Aqui, add_subplot(121) e add_subplot(122) são usados para criar um layout personalizado, onde o primeiro número representa o total de linhas, o segundo o total de colunas e o terceiro o índice do subplot.

Combinando Diferentes Tipos de Gráficos

Em análises mais complexas, pode ser útil combinar diferentes tipos de gráficos em uma única figura. Vamos ver como fazer isso:

# Dados de exemplo
x = np.arange(0, 10, 1)
y1 = x * 2
y2 = x ** 2

# Criação de uma figura com diferentes tipos de gráficos
fig, axes = plt.subplots(1, 2, figsize=(12, 5))

# Gráfico de linha
axes[0].plot(x, y1, 'r')
axes[0].set_title('Gráfico de Linha')

# Gráfico de barras
axes[1].bar(x, y2)
axes[1].set_title('Gráfico de Barras')

plt.tight_layout()
plt.show()
como posicionar gráficos lado a lado com matplotlib

Neste exemplo, utilizamos axes, que é um array de eixos, para acessar cada subplot individualmente e aplicar um tipo de gráfico diferente em cada um.

Conclusão

Dominar a arte de posicionar gráficos lado a lado com Matplotlib abre um leque de possibilidades para a visualização de dados. Com a prática, você será capaz de criar figuras complexas e informativas que comunicam efetivamente os resultados de suas análises. Experimente com diferentes layouts e tipos de gráficos para descobrir o potencial completo dessa poderosa biblioteca.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: