Zoom Inset Axes

Beginner

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

Introdução

Matplotlib é uma biblioteca Python utilizada para criar visualizações estáticas, animadas e interativas em Python. É uma ferramenta poderosa para visualização de dados e é amplamente utilizada na comunidade científica. Neste laboratório, aprenderemos como criar uma região com zoom em um gráfico Matplotlib.

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

O primeiro passo é importar as bibliotecas necessárias. Usaremos NumPy e Matplotlib para este exemplo.

import numpy as np
from matplotlib import cbook
from matplotlib import pyplot as plt

Criar o gráfico

Em seguida, criaremos um gráfico usando alguns dados de exemplo. Usaremos uma distribuição normal bivariada como nossa fonte de dados.

fig, ax = plt.subplots()

## make data
Z = cbook.get_sample_data("axes_grid/bivariate_normal.npy")  ## 15x15 array
Z2 = np.zeros((150, 150))
ny, nx = Z.shape
Z2[30:30+ny, 30:30+nx] = Z
extent = (-3, 4, -4, 3)

ax.imshow(Z2, extent=extent, origin="lower")

Adicionar um gráfico de inserção (inset plot)

Nesta etapa, adicionaremos um gráfico de inserção ao gráfico principal. Este gráfico de inserção mostrará uma região ampliada do gráfico principal.

## inset axes....
x1, x2, y1, y2 = -1.5, -0.9, -2.5, -1.9  ## subregion of the original image
axins = ax.inset_axes(
    [0.5, 0.5, 0.47, 0.47],
    xlim=(x1, x2), ylim=(y1, y2), xticklabels=[], yticklabels=[])
axins.imshow(Z2, extent=extent, origin="lower")

Adicionar um retângulo para mostrar a região ampliada

Nesta etapa, adicionaremos um retângulo ao gráfico principal para mostrar onde a região ampliada está localizada.

ax.indicate_inset_zoom(axins, edgecolor="black")

Exibir o gráfico

Finalmente, exibiremos o gráfico usando a função plt.show().

plt.show()

Resumo

Neste laboratório, aprendemos como criar uma região ampliada (zoomed-in region) em um gráfico Matplotlib. Criamos um gráfico principal usando dados de exemplo, adicionamos um gráfico inset (inset plot) para mostrar uma região ampliada do gráfico principal e adicionamos um retângulo para mostrar onde a região ampliada está localizada. Em seguida, exibimos o gráfico usando a função plt.show().