Hinweis
Gehe zum Ende, um den vollständigen Beispielcode herunterzuladen.
Check buttons#
Visuelle Elemente mit Checkbuttons ein- und ausschalten.
Dieses Programm zeigt die Verwendung von CheckButtons, die ähnlich wie Kontrollkästchen funktionieren. Es werden 3 verschiedene Sinuswellen angezeigt, und wir können mit den Checkbuttons auswählen, welche Wellen angezeigt werden.
Checkbuttons können mit den Parametern check_props, frame_props und label_props gestylt werden. Die Parameter nehmen jeweils ein Dictionary mit Schlüsseln von Artist-Eigenschaftsnamen und Werten von Listen mit Einstellungen entgegen, deren Länge der Anzahl der Buttons entspricht.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.widgets import CheckButtons
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(6*np.pi*t)
fig, ax = plt.subplots()
l0, = ax.plot(t, s0, visible=False, lw=2, color='black', label='1 Hz')
l1, = ax.plot(t, s1, lw=2, color='red', label='2 Hz')
l2, = ax.plot(t, s2, lw=2, color='green', label='3 Hz')
lines_by_label = {l.get_label(): l for l in [l0, l1, l2]}
line_colors = [l.get_color() for l in lines_by_label.values()]
# Make checkbuttons with all plotted lines with correct visibility
rax = ax.inset_axes([0.0, 0.0, 0.12, 0.2])
check = CheckButtons(
ax=rax,
labels=lines_by_label.keys(),
actives=[l.get_visible() for l in lines_by_label.values()],
label_props={'color': line_colors},
frame_props={'edgecolor': line_colors},
check_props={'facecolor': line_colors},
)
def callback(label):
ln = lines_by_label[label]
ln.set_visible(not ln.get_visible())
ln.figure.canvas.draw_idle()
check.on_clicked(callback)
plt.show()

Referenzen
Die Verwendung der folgenden Funktionen, Methoden, Klassen und Module wird in diesem Beispiel gezeigt
Gesamtlaufzeit des Skripts: (0 Minuten 1,020 Sekunden)