Eventos de entrada/salida de la Figura y los Ejes de Matplotlib

Beginner

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

Introducción

Matplotlib es una biblioteca de visualización de datos para Python. Ofrece una variedad de herramientas para crear visualizaciones estáticas, animadas e interactivas en Python. Una de las características interactivas de Matplotlib es la capacidad de detectar cuando el mouse entra y sale de una figura o un eje. En este laboratorio, aprenderemos a usar los eventos de entrada/salida de la Figura y el Eje de Matplotlib para cambiar los colores del marco de la figura y el eje.

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 sus comentarios después de la sesión y lo resolveremos rápidamente para usted.

Importando Matplotlib

Antes de comenzar a usar Matplotlib, debemos importarlo. También importaremos el módulo pyplot, que proporciona una interfaz simple para crear gráficos.

import matplotlib.pyplot as plt

Creando la Figura y los Ejes

Crearemos una figura con dos subgráficos (ejes) utilizando la función subplots. También estableceremos el título de la figura.

fig, axs = plt.subplots(2, 1)
fig.suptitle('Mouse Hover Over Figure or Axes to Trigger Events')

Definiendo los Manejadores de Eventos

Ahora definiremos cuatro funciones de manejador de eventos: on_enter_axes, on_leave_axes, on_enter_figure y on_leave_figure. Estas funciones se llamarán cuando el mouse entre o salga de un eje o de la figura.

def on_enter_axes(event):
    print('enter_axes', event.inaxes)
    event.inaxes.patch.set_facecolor('yellow')
    event.canvas.draw()

def on_leave_axes(event):
    print('leave_axes', event.inaxes)
    event.inaxes.patch.set_facecolor('white')
    event.canvas.draw()

def on_enter_figure(event):
    print('enter_figure', event.canvas.figure)
    event.canvas.figure.patch.set_facecolor('red')
    event.canvas.draw()

def on_leave_figure(event):
    print('leave_figure', event.canvas.figure)
    event.canvas.figure.patch.set_facecolor('grey')
    event.canvas.draw()

Conectando los Manejadores de Eventos a la Superficie de la Figura

Ahora conectaremos los manejadores de eventos a la superficie de la figura utilizando el método mpl_connect. Esto permitirá que los manejadores de eventos se activen cuando el mouse entre o salga de la figura o de los ejes.

fig.canvas.mpl_connect('figure_enter_event', on_enter_figure)
fig.canvas.mpl_connect('figure_leave_event', on_leave_figure)
fig.canvas.mpl_connect('axes_enter_event', on_enter_axes)
fig.canvas.mpl_connect('axes_leave_event', on_leave_axes)

Mostrando la Figura

Ahora mostraremos la figura utilizando la función show.

plt.show()

Resumen

En este laboratorio, aprendimos cómo utilizar los eventos de entrada/salida de la Figura y los Ejes de Matplotlib para cambiar los colores de los marcos de la figura y los ejes. Creamos una figura con dos subgráficos, definimos funciones de manejador de eventos para entrar y salir de la figura y los ejes, conectamos los manejadores de eventos a la superficie de la figura y mostramos la figura.