Verbindung zu Tastendruck-Ereignissen

MatplotlibMatplotlibBeginner
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

In diesem Lab werden wir lernen, wie wir mit Tastendrücken in Matplotlib verbunden werden können, was es uns ermöglicht, bestimmte Aktionen auszuführen, wenn eine Taste gedrückt wird. Wir werden einen Graphen erstellen und einen Tastendruck-Ereignis-Listener einrichten, der die Sichtbarkeit der x-Achsebeschriftung umschaltet, wenn die Taste 'x' gedrückt wird.

Tipps für die VM

Nachdem der VM-Start abgeschlossen 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 von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie während des Lernens Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Bibliotheken importieren

Wir beginnen mit dem Import der erforderlichen Bibliotheken: matplotlib.pyplot und numpy.

import matplotlib.pyplot as plt
import numpy as np

Definiere die Tastendruck-Ereignisfunktion

Als nächstes definieren wir eine Funktion on_press, die aufgerufen wird, wenn eine Taste gedrückt wird. Diese Funktion nimmt einen event-Parameter entgegen, der Informationen über die gedrückte Taste enthält. In diesem Beispiel werden wir die Sichtbarkeit der x-Achsebeschriftung umschalten, wenn die Taste 'x' gedrückt wird.

def on_press(event):
    print('press', event.key)
    sys.stdout.flush()
    if event.key == 'x':
        visible = xl.get_visible()
        xl.set_visible(not visible)
        fig.canvas.draw()

Erzeuge den Graphen und verbinde den Tastendruck-Ereignis-Listener

Wir erstellen einen einfachen Graphen, indem wir np.random.rand() verwenden, um zufällige Daten zu generieren. Anschließend setzen wir den Tastendruck-Ereignis-Listener mit fig.canvas.mpl_connect() ein und übergeben den Namen des Ereignisses, auf das wir lauschen möchten ('key_press_event'), und die Funktion, die aufgerufen werden soll, wenn das Ereignis eintritt (on_press).

fig, ax = plt.subplots()

fig.canvas.mpl_connect('key_press_event', on_press)

ax.plot(np.random.rand(12), np.random.rand(12), 'go')
xl = ax.set_xlabel('easy come, easy go')
ax.set_title('Press a key')
plt.show()

Führe den Code aus

Speichern Sie den Code in einer Datei und führen Sie ihn in einer Python-Umgebung aus. Es wird ein Graphen angezeigt mit der x-Achsebeschriftung "easy come, easy go". Wenn die Taste 'x' gedrückt wird, wechselt die x-Achsebeschriftung zwischen sichtbar und unsichtbar.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man in Matplotlib auf Tastendruck-Ereignisse reagieren kann. Wir haben einen Graphen erstellt und einen Tastendruck-Ereignis-Listener eingerichtet, der die Sichtbarkeit der x-Achsebeschriftung umschaltet, wenn die Taste 'x' gedrückt wird. Dies ist nur ein Beispiel dafür, was man mit Tastendruck-Ereignissen in Matplotlib machen kann.