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

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/AdvancedTopicsGroup(["Advanced Topics"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") matplotlib/AdvancedTopicsGroup -.-> matplotlib/event_handling("Event Handling") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48730{{"Eventos de entrada/salida de la Figura y los Ejes de Matplotlib"}} matplotlib/figures_axes -.-> lab-48730{{"Eventos de entrada/salida de la Figura y los Ejes de Matplotlib"}} python/tuples -.-> lab-48730{{"Eventos de entrada/salida de la Figura y los Ejes de Matplotlib"}} python/function_definition -.-> lab-48730{{"Eventos de entrada/salida de la Figura y los Ejes de Matplotlib"}} python/build_in_functions -.-> lab-48730{{"Eventos de entrada/salida de la Figura y los Ejes de Matplotlib"}} python/importing_modules -.-> lab-48730{{"Eventos de entrada/salida de la Figura y los Ejes de Matplotlib"}} matplotlib/event_handling -.-> lab-48730{{"Eventos de entrada/salida de la Figura y los Ejes de Matplotlib"}} python/data_visualization -.-> lab-48730{{"Eventos de entrada/salida de la Figura y los Ejes de Matplotlib"}} end

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.