Introducción
Esta práctica te guiará sobre cómo establecer un cursor alternativo en un lienzo de figura utilizando Matplotlib. El cursor alternativo puede ser cualquiera de los cursores disponibles en las herramientas del backend de Matplotlib.
Consejos sobre la VM
Una vez finalizada la inicialización de la VM, haz clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
En ocasiones, es posible que tengas que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.
Importar las bibliotecas necesarias
En primer lugar, necesitamos importar las bibliotecas requeridas. Utilizaremos matplotlib.pyplot y matplotlib.backend_tools.
import matplotlib.pyplot as plt
from matplotlib.backend_tools import Cursors
Crear una figura y establecer cursores alternativos
A continuación, creamos una figura y establecemos los cursores alternativos para cada subtrama utilizando un bucle. También agregamos texto a cada subtrama para indicar el cursor que se está utilizando.
fig, axs = plt.subplots(len(Cursors), figsize=(6, len(Cursors) + 0.5), gridspec_kw={'hspace': 0})
fig.suptitle('Hover over an Axes to see alternate Cursors')
for cursor, ax in zip(Cursors, axs):
ax.cursor_to_use = cursor
ax.text(0.5, 0.5, cursor.name,
horizontalalignment='center', verticalalignment='center')
ax.set(xticks=[], yticks=[])
Establecer el cursor al pasar el cursor
Debemos establecer el cursor al cursor alternativo cuando el usuario pasa el cursor sobre una subtrama. Lo conseguimos utilizando el evento motion_notify_event y la función set_cursor().
def hover(event):
if fig.canvas.widgetlock.locked():
## Don't do anything if the zoom/pan tools have been enabled.
return
fig.canvas.set_cursor(
event.inaxes.cursor_to_use if event.inaxes else Cursors.POINTER)
fig.canvas.mpl_connect('motion_notify_event', hover)
Mostrar la figura
Finalmente, mostramos la figura utilizando la función show().
plt.show()
Resumen
En este laboratorio, hemos aprendido cómo establecer un cursor alternativo en un lienzo de figura utilizando Matplotlib. Creamos una figura y establecimos los cursores alternativos para cada subtrama, y luego establecimos el cursor al cursor alternativo cuando el usuario pasa el cursor sobre una subtrama. Luego mostramos la figura.