Modificando el formateador de coordenadas en Matplotlib

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Matplotlib es una biblioteca utilizada para la visualización de datos en Python. Proporciona una amplia variedad de herramientas para crear diferentes tipos de gráficos, diagramas y tablas. Una de las características útiles de Matplotlib es la capacidad de personalizar el formateador de coordenadas. En este laboratorio, revisaremos los pasos para modificar el formateador de coordenadas en Matplotlib para reportar el valor "z" de la imagen del píxel más cercano dado x e y.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargar. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.

Importar los módulos necesarios

Para comenzar, necesitamos importar los módulos necesarios. En este caso, importaremos matplotlib.pyplot y numpy.

import matplotlib.pyplot as plt
import numpy as np

Crear una matriz aleatoria

A continuación, crearemos una matriz aleatoria utilizando numpy. Utilizaremos el método rand para crear una matriz de 5x3 con valores aleatorios entre 0 y 1. También estableceremos una semilla aleatoria para garantizar la reproducibilidad de los resultados.

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

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

Crear un gráfico

Ahora, crearemos un gráfico de la matriz utilizando el método imshow de la clase axes de Matplotlib.

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

Modificar el formateador de coordenadas

Ahora modificaremos el formateador de coordenadas para reportar el valor "z" de la imagen del píxel más cercano dado x e y. Esto se puede lograr personalizando la función ~.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

Mostrar el gráfico

Finalmente, mostraremos el gráfico utilizando el método plt.show().

plt.show()

Resumen

En este laboratorio, aprendimos cómo modificar el formateador de coordenadas en Matplotlib para reportar el valor "z" de la imagen del píxel más cercano dado x e y. También aprendimos cómo crear un gráfico de una matriz aleatoria utilizando el método imshow y personalizar la función ~.axes.Axes.format_coord para modificar el formateador de coordenadas.