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.