Introducción
Esta práctica demuestra un ejemplo de cómo interactuar con el lienzo de trazado mediante la conexión a los eventos de movimiento y clic utilizando la librería Matplotlib en Python. Matplotlib es una librería de visualización de datos que permite a los usuarios crear visualizaciones estáticas, animadas e interactivas en Python.
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 cargarse. La validación de 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 su retroalimentación después de la sesión y resolveremos rápidamente el problema para usted.
Creando un gráfico de onda senoidal
En primer lugar, necesitamos crear un gráfico de onda senoidal utilizando las librerías numpy y matplotlib.
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2 * np.pi * t)
fig, ax = plt.subplots()
ax.plot(t, s)
Evento de movimiento del mouse
Podemos conectarnos a los eventos de movimiento del mouse utilizando el método motion_notify_event. En este ejemplo, estamos imprimiendo las coordenadas de datos x e y y las coordenadas de píxeles x e y cuando el mouse se mueve sobre el gráfico.
def on_move(event):
if event.inaxes:
print(f'data coords {event.xdata} {event.ydata},',
f'pixel coords {event.x} {event.y}')
binding_id = plt.connect('motion_notify_event', on_move)
Evento de clic del mouse
Podemos conectarnos a los eventos de clic del mouse utilizando el método button_press_event. En este ejemplo, estamos desconectando la devolución de llamada del evento de movimiento del mouse cuando se hace clic con el botón izquierdo del mouse.
from matplotlib.backend_bases import MouseButton
def on_click(event):
if event.button is MouseButton.LEFT:
print('desconectando devolución de llamada')
plt.disconnect(binding_id)
plt.connect('button_press_event', on_click)
Mostrando el gráfico
Finalmente, necesitamos mostrar el gráfico utilizando el método show.
plt.show()
Resumen
Esta práctica demostró cómo interactuar con un gráfico de Matplotlib utilizando eventos de movimiento y clic del mouse. Al conectarse a estos eventos, podemos realizar diversas acciones como imprimir las coordenadas del puntero del mouse, desconectar devoluciones de llamada, etc. Esta técnica puede ser útil para crear visualizaciones interactivas en Python.