Matplotlib Axes Divider

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, aprenderemos como usar o Matplotlib Axes Divider para criar layouts personalizados para subplots em uma figura.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar as bibliotecas necessárias

Começaremos importando as bibliotecas necessárias para este laboratório: matplotlib.pyplot e mpl_toolkits.axes_grid1.

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import Divider
import mpl_toolkits.axes_grid1.axes_size as Size

Configurar a figura e os eixos

Criaremos um objeto figura e configuraremos quatro objetos eixos usando o método fig.add_axes.

fig = plt.figure(figsize=(5.5, 4))
rect = (0.1, 0.1, 0.8, 0.8)
ax = [fig.add_axes(rect, label="%d" % i) for i in range(4)]

Configurar o divisor de eixos

Configuraremos o divisor de eixos usando a classe Divider e as classes AxesX e AxesY do módulo mpl_toolkits.axes_grid1.axes_size. Em seguida, usaremos o método new_locator para definir a posição de cada eixo.

horiz = [Size.AxesX(ax[0]), Size.Fixed(.5), Size.AxesX(ax[1])]
vert = [Size.AxesY(ax[0]), Size.Fixed(.5), Size.AxesY(ax[2])]
divider = Divider(fig, rect, horiz, vert, aspect=False)

ax[0].set_axes_locator(divider.new_locator(nx=0, ny=0))
ax[1].set_axes_locator(divider.new_locator(nx=2, ny=0))
ax[2].set_axes_locator(divider.new_locator(nx=0, ny=2))
ax[3].set_axes_locator(divider.new_locator(nx=2, ny=2))

Personalizar os limites e a aparência dos eixos

Personalizaremos os limites e a aparência de cada eixo usando os métodos set_xlim, set_ylim e tick_params.

ax[0].set_xlim(0, 2)
ax[1].set_xlim(0, 1)
ax[0].set_ylim(0, 1)
ax[2].set_ylim(0, 2)
for ax1 in ax:
    ax1.tick_params(labelbottom=False, labelleft=False)

Exibir o gráfico

Finalmente, exibiremos o gráfico usando o método show.

plt.show()

Resumo

Neste laboratório, aprendemos como usar o Matplotlib Axes Divider para criar layouts personalizados para subplots em uma figura. Criamos um objeto figura e configuramos quatro objetos eixos (axes), então usamos o axes divider para posicionar os eixos em uma grade. Personalizamos os limites e a aparência de cada eixo e exibimos o gráfico usando o método show.