Einführung
In diesem Lab wird Ihnen gezeigt, wie Sie in Matplotlib einen alternativen Cursor auf einer Figurcanvas festlegen. Der alternative Cursor kann ein beliebiger der verfügbaren Cursor in den Matplotlib-Backend-Tools sein.
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 öffnen.
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 beheben.
Importieren der erforderlichen Bibliotheken
Zunächst müssen wir die erforderlichen Bibliotheken importieren. Wir werden matplotlib.pyplot und matplotlib.backend_tools verwenden.
import matplotlib.pyplot as plt
from matplotlib.backend_tools import Cursors
Erstellen einer Figur und Festlegen alternativer Cursor
Als nächstes erstellen wir eine Figur und legen für jedes Subplot mit einer Schleife die alternativen Cursor fest. Wir fügen auch Text zu jedem Subplot hinzu, um den verwendeten Cursor anzuzeigen.
fig, axs = plt.subplots(len(Cursors), figsize=(6, len(Cursors) + 0.5), gridspec_kw={'hspace': 0})
fig.suptitle('Hover over an Axes to see alternate Cursors')
for cursor, ax in zip(Cursors, axs):
ax.cursor_to_use = cursor
ax.text(0.5, 0.5, cursor.name,
horizontalalignment='center', verticalalignment='center')
ax.set(xticks=[], yticks=[])
Setzen des Cursors beim Hovern
Wir müssen den Cursor auf den alternativen Cursor setzen, wenn der Benutzer über einem Subplot hoviert. Dies erreichen wir mit dem Ereignis motion_notify_event und der Funktion set_cursor().
def hover(event):
if fig.canvas.widgetlock.locked():
## Don't do anything if the zoom/pan tools have been enabled.
return
fig.canvas.set_cursor(
event.inaxes.cursor_to_use if event.inaxes else Cursors.POINTER)
fig.canvas.mpl_connect('motion_notify_event', hover)
Anzeigen der Figur
Schließlich zeigen wir die Figur mit der Funktion show() an.
plt.show()
Zusammenfassung
In diesem Lab haben wir gelernt, wie man mit Matplotlib einen alternativen Cursor auf einer Figurcanvas setzt. Wir haben eine Figur erstellt und die alternativen Cursor für jedes Subplot festgelegt, und dann den Cursor auf den alternativen Cursor gesetzt, wenn der Benutzer über einem Subplot hoviert. Anschließend haben wir die Figur angezeigt.