Arranjo de Subplots no Matplotlib Usando HBoxDivider e VBoxDivider

Beginner

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

Introdução

Neste laboratório, aprenderemos como usar o Matplotlib para criar subplots usando as classes HBoxDivider e VBoxDivider. Usaremos um exemplo simples para mostrar como essas classes podem ser usadas para organizar múltiplos subplots.

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ê.

Importando as Bibliotecas Necessárias

Começamos importando as bibliotecas necessárias - matplotlib e numpy.

import matplotlib.pyplot as plt
import numpy as np

Criando os Dados

Criamos dois arrays numpy para serem usados como dados para nossos subplots.

arr1 = np.arange(20).reshape((4, 5))
arr2 = np.arange(20).reshape((5, 4))

Criando Subplots Usando HBoxDivider

Criamos dois subplots lado a lado usando a classe HBoxDivider. Também ajustamos a localização dos eixos para que tenham alturas iguais, mantendo suas proporções.

fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.imshow(arr1)
ax2.imshow(arr2)

pad = 0.5  ## pad in inches
divider = HBoxDivider(
    fig, 111,
    horizontal=[Size.AxesX(ax1), Size.Fixed(pad), Size.AxesX(ax2)],
    vertical=[Size.AxesY(ax1), Size.Scaled(1), Size.AxesY(ax2)])
ax1.set_axes_locator(divider.new_locator(0))
ax2.set_axes_locator(divider.new_locator(2))

plt.show()

Criando Subplots Usando VBoxDivider

Criamos dois subplots, um abaixo do outro, usando a classe VBoxDivider. Ajustamos a localização dos eixos para que tenham larguras iguais, mantendo suas proporções.

fig, (ax1, ax2) = plt.subplots(2, 1)
ax1.imshow(arr1)
ax2.imshow(arr2)

divider = VBoxDivider(
    fig, 111,
    horizontal=[Size.AxesX(ax1), Size.Scaled(1), Size.AxesX(ax2)],
    vertical=[Size.AxesY(ax1), Size.Fixed(pad), Size.AxesY(ax2)])

ax1.set_axes_locator(divider.new_locator(0))
ax2.set_axes_locator(divider.new_locator(2))

plt.show()

Resumo

Neste laboratório, aprendemos como usar as classes HBoxDivider e VBoxDivider no Matplotlib para criar subplots. Vimos como ajustar a localização dos eixos para que tenham alturas ou larguras iguais, mantendo suas proporções. Essas classes podem ser úteis quando precisamos organizar múltiplos subplots em uma única figura.