Introdução
Neste tutorial, aprenderemos como usar a função ImageGrid do módulo mpl_toolkits.axes_grid1 em Matplotlib. Criaremos uma grade de imagens 2x2 e as alinharemos usando a função ImageGrid.
Dicas para a VM (Máquina Virtual)
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 e criar arrays de imagem
Começamos importando as bibliotecas necessárias e criando quatro arrays de imagem 10x10 usando as funções arange e reshape da biblioteca NumPy.
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1 import ImageGrid
im1 = np.arange(100).reshape((10, 10))
im2 = im1.T
im3 = np.flipud(im1)
im4 = np.fliplr(im2)
Criar uma figura e um objeto ImageGrid
Em seguida, criamos um objeto figure usando a função plt.figure e passamos o argumento figsize para definir o tamanho da figura. Em seguida, criamos um objeto ImageGrid usando a função ImageGrid e passamos a figure, 111 como o argumento de subplot, (2, 2) como o argumento nrows_ncols para criar uma grade de eixos 2x2 e 0.1 como o argumento axes_pad para definir o preenchimento entre os eixos.
fig = plt.figure(figsize=(4., 4.))
grid = ImageGrid(fig, 111, nrows_ncols=(2, 2), axes_pad=0.1)
Iterar sobre a grade e plotar as imagens
Em seguida, iteramos sobre o objeto grid usando a função zip para iterar sobre os eixos e os arrays de imagem. Plotamos cada imagem em seu eixo correspondente usando a função imshow.
for ax, im in zip(grid, [im1, im2, im3, im4]):
ax.imshow(im)
Mostrar o gráfico
Finalmente, mostramos o gráfico usando a função plt.show.
plt.show()
Resumo
Neste tutorial, aprendemos como usar a função ImageGrid do módulo mpl_toolkits.axes_grid1 em Matplotlib para alinhar múltiplas imagens em uma grade. Criamos uma grade 2x2 de imagens e as plotamos usando a função imshow.