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.
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.