Einführung
Radiobuttons sind ein Eingabeelement, das es Benutzern ermöglicht, eine Option aus einer Gruppe vorgegebener Optionen auszuwählen. In diesem Lab verwenden wir die matplotlib-Bibliothek, um eine Visualisierung mit Radiobuttons zu erstellen, mit denen der Benutzer zwischen verschiedenen Sinuswellen wählen kann, die im Diagramm angezeigt werden sollen.
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 öffnen.
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.
Importieren der erforderlichen Bibliotheken
Wir beginnen mit dem Importieren der erforderlichen Bibliotheken für dieses Lab - numpy und matplotlib.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.widgets import RadioButtons
Daten erstellen
Als nächstes werden wir die Daten erstellen, die im Diagramm verwendet werden sollen. Mit der numpy-Bibliothek werden wir drei unterschiedliche Sinuswellen mit unterschiedlichen Frequenzen erstellen.
t = np.arange(0.0, 2.0, 0.01)
s0 = np.sin(2*np.pi*t)
s1 = np.sin(4*np.pi*t)
s2 = np.sin(8*np.pi*t)
Erstellen des Diagramms und der Radiobuttons
Jetzt werden wir das Diagramm und die Radiobuttons erstellen. Wir werden die subplots()-Funktion verwenden, um das Diagramm zu erstellen, und die RadioButtons()-Funktion, um die Radiobuttons zu erstellen.
fig, ax = plt.subplots()
l, = ax.plot(t, s0, lw=2, color='red')
fig.subplots_adjust(left=0.3)
axcolor = 'lightgoldenrodyellow'
rax = fig.add_axes([0.05, 0.7, 0.15, 0.15], facecolor=axcolor)
radio = RadioButtons(rax, ('1 Hz', '2 Hz', '4 Hz'),
label_props={'color': 'cmy', 'fontsize': [12, 14, 16]},
radio_props={'s': [16, 32, 64]})
Funktionalität zu den Radiobuttons hinzufügen
Wir werden nun der Radiobuttons mit der on_clicked()-Funktion Funktionalität hinzufügen. Wir werden zwei Funktionen definieren - hzfunc() und colorfunc() - die aufgerufen werden, wenn auf die Radiobuttons geklickt wird.
def hzfunc(label):
hzdict = {'1 Hz': s0, '2 Hz': s1, '4 Hz': s2}
ydata = hzdict[label]
l.set_ydata(ydata)
fig.canvas.draw()
radio.on_clicked(hzfunc)
rax = fig.add_axes([0.05, 0.4, 0.15, 0.15], facecolor=axcolor)
radio2 = RadioButtons(
rax, ('red', 'blue', 'green'),
label_props={'color': ['red', 'blue', 'green']},
radio_props={
'facecolor': ['red', 'blue', 'green'],
'edgecolor': ['darkred', 'darkblue', 'darkgreen'],
})
def colorfunc(label):
l.set_color(label)
fig.canvas.draw()
radio2.on_clicked(colorfunc)
rax = fig.add_axes([0.05, 0.1, 0.15, 0.15], facecolor=axcolor)
radio3 = RadioButtons(rax, ('-', '--', '-.', ':'))
def stylefunc(label):
l.set_linestyle(label)
fig.canvas.draw()
radio3.on_clicked(stylefunc)
Zeige das Diagramm an
Schließlich werden wir das Diagramm mit der show()-Funktion anzeigen.
plt.show()
Zusammenfassung
In diesem Lab haben wir gelernt, wie man mit Hilfe der matplotlib-Bibliothek eine Visualisierung mit Radiobuttons erstellt. Wir haben Radiobuttons verwendet, um dem Benutzer die Möglichkeit zu geben, zwischen verschiedenen Sinuswellen auszuwählen, die im Diagramm angezeigt werden sollen. Wir haben auch der Radiobuttons Funktionalität hinzugefügt, indem wir Funktionen definiert haben, die aufgerufen wurden, wenn auf die Buttons geklickt wurde. Insgesamt hat dieses Lab gezeigt, wie Radiobuttons verwendet werden können, um interaktive Visualisierungen zu erstellen, die es Benutzern ermöglichen, verschiedene Aspekte der Daten zu erkunden.