Modificando o Formatador de Coordenadas no Matplotlib

Beginner

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

Introdução

Matplotlib é uma biblioteca utilizada para visualização de dados em Python. Ela oferece uma ampla gama de ferramentas para criar diversos tipos de gráficos, diagramas e mapas. Uma das funcionalidades úteis do Matplotlib é a capacidade de personalizar o formatador de coordenadas. Neste laboratório, vamos percorrer os passos para modificar o formatador de coordenadas no Matplotlib para relatar o valor "z" da imagem do pixel mais próximo, dados x e y.

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 às limitações do 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 os módulos necessários

Para começar, precisamos importar os módulos necessários. Neste caso, importaremos matplotlib.pyplot e numpy.

import matplotlib.pyplot as plt
import numpy as np

Criar uma matriz aleatória

Em seguida, criaremos uma matriz aleatória usando numpy. Usaremos o método rand para criar uma matriz 5x3 com valores aleatórios entre 0 e 1. Também definiremos uma semente aleatória para garantir a reprodutibilidade dos resultados.

## Fixing random state for reproducibility
np.random.seed(19680801)

X = 10*np.random.rand(5, 3)

Criar um gráfico

Agora, criaremos um gráfico da matriz usando o método imshow da classe axes do Matplotlib.

fig, ax = plt.subplots()
ax.imshow(X)

Modificar o formatador de coordenadas

Agora, modificaremos o formatador de coordenadas para relatar o valor "z" da imagem do pixel mais próximo, dados x e y. Isso pode ser alcançado personalizando a função ~.axes.Axes.format_coord.

def format_coord(x, y):
    col = round(x)
    row = round(y)
    nrows, ncols = X.shape
    if 0 <= col < ncols and 0 <= row < nrows:
        z = X[row, col]
        return f'x={x:1.4f}, y={y:1.4f}, z={z:1.4f}'
    else:
        return f'x={x:1.4f}, y={y:1.4f}'

ax.format_coord = format_coord

Exibir o gráfico

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

plt.show()

Resumo

Neste laboratório, aprendemos como modificar o formatador de coordenadas no Matplotlib para relatar o valor "z" da imagem do pixel mais próximo, dados x e y. Também aprendemos como criar um gráfico de uma matriz aleatória usando o método imshow e personalizar a função ~.axes.Axes.format_coord para modificar o formatador de coordenadas.