Matplotlib Figur- und Achsen-Eintritt/Austrittsevents

PythonPythonBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Matplotlib ist eine Datenvisualisierungsbibliothek für Python. Es bietet eine Vielzahl von Tools zur Erstellung von statischen, animierten und interaktiven Visualisierungen in Python. Eine der interaktiven Funktionen von Matplotlib ist die Fähigkeit, zu erkennen, wenn die Maus in eine Figur oder eine Achse eintritt und verlässt. In diesem Lab werden wir lernen, wie man die Figure- und Axes-Eintritt/Austrittsevents von Matplotlib verwendet, um die Rahmenfarben der Figur und der Achse zu ändern.

VM-Tipps

Nachdem die VM gestartet ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt lösen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) 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"]) 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{{"Matplotlib Figur- und Achsen-Eintritt/Austrittsevents"}} matplotlib/figures_axes -.-> lab-48730{{"Matplotlib Figur- und Achsen-Eintritt/Austrittsevents"}} python/tuples -.-> lab-48730{{"Matplotlib Figur- und Achsen-Eintritt/Austrittsevents"}} python/function_definition -.-> lab-48730{{"Matplotlib Figur- und Achsen-Eintritt/Austrittsevents"}} python/build_in_functions -.-> lab-48730{{"Matplotlib Figur- und Achsen-Eintritt/Austrittsevents"}} python/importing_modules -.-> lab-48730{{"Matplotlib Figur- und Achsen-Eintritt/Austrittsevents"}} matplotlib/event_handling -.-> lab-48730{{"Matplotlib Figur- und Achsen-Eintritt/Austrittsevents"}} python/data_visualization -.-> lab-48730{{"Matplotlib Figur- und Achsen-Eintritt/Austrittsevents"}} end

Matplotlib importieren

Bevor wir Matplotlib verwenden, müssen wir es importieren. Wir importieren auch das pyplot-Modul, das eine einfache Schnittstelle zur Erstellung von Diagrammen bietet.

import matplotlib.pyplot as plt

Erstellen der Figur und der Achsen

Wir werden eine Figur mit zwei Teilplots (Achsen) mithilfe der subplots-Funktion erstellen. Wir setzen auch den Titel der Figur.

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

Definieren der Ereignishandler

Wir werden jetzt vier Ereignishandlerfunktionen definieren: on_enter_axes, on_leave_axes, on_enter_figure und on_leave_figure. Diese Funktionen werden aufgerufen, wenn die Maus in eine Achse oder die Figur eintritt oder verlässt.

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()

Verbinden der Ereignishandler mit der Figurcanvas

Wir werden jetzt die Ereignishandler mit der Figurcanvas über die mpl_connect-Methode verbinden. Dadurch werden die Ereignishandler ausgelöst, wenn die Maus in die Figur oder Achse eintritt oder verlässt.

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)

Anzeigen der Figur

Wir werden jetzt die Figur mithilfe der show-Funktion anzeigen.

plt.show()

Zusammenfassung

In diesem Lab haben wir gelernt, wie man Matplotlibs Figure- und Achsen-Eintritt/Austrittsevents verwendet, um die Rahmenfarben der Figur und der Achsen zu ändern. Wir haben eine Figur mit zwei Teilplots erstellt, Ereignishandlerfunktionen für das Betreten und Verlassen der Figur und der Achsen definiert, die Ereignishandler an die Figurcanvas verbunden und die Figur angezeigt.