Introducción
Esta práctica es un tutorial paso a paso sobre cómo conectar eventos en una ventana, por ejemplo, una presión del mouse, con otra ventana de figura en Python Matplotlib.
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 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 su retroalimentación después de la sesión y lo resolveremos rápidamente para usted.
Configurar el entorno
En primer lugar, necesitamos configurar el entorno de Python e importar las bibliotecas necesarias.
import matplotlib.pyplot as plt
import numpy as np
## Fixing random state for reproducibility
np.random.seed(19680801)
figsrc, axsrc = plt.subplots(figsize=(3.7, 3.7))
figzoom, axzoom = plt.subplots(figsize=(3.7, 3.7))
axsrc.set(xlim=(0, 1), ylim=(0, 1), autoscale_on=False,
title='Click to zoom')
axzoom.set(xlim=(0.45, 0.55), ylim=(0.4, 0.6), autoscale_on=False,
title='Zoom window')
x, y, s, c = np.random.rand(4, 200)
s *= 200
axsrc.scatter(x, y, s, c)
axzoom.scatter(x, y, s, c)
Definir la función on_press
A continuación, definimos una función llamada on_press que ajustará los límites z y y de la segunda ventana en función de la ubicación de un clic del mouse en la primera ventana.
def on_press(event):
if event.button!= 1:
return
x, y = event.xdata, event.ydata
axzoom.set_xlim(x - 0.1, x + 0.1)
axzoom.set_ylim(y - 0.1, y + 0.1)
figzoom.canvas.draw()
Conectar el evento a la función
Ahora, conectamos el evento de presión del botón en la primera ventana a la función on_press que acabamos de definir.
figsrc.canvas.mpl_connect('button_press_event', on_press)
Mostrar la gráfica
Finalmente, mostramos la gráfica al usuario.
plt.show()
Resumen
En este laboratorio, aprendimos cómo conectar eventos en una ventana, por ejemplo, una presión del mouse, a otra ventana de figura en Matplotlib de Python. También aprendimos cómo definir una función para ajustar los límites de la segunda ventana en función de la ubicación de un clic del mouse en la primera ventana, y cómo conectar el evento de presión del botón a esta función.