Wie in der documentation of matplotlib.widgets.CheckButtons
gesehen apreciated, die Etiketten, die Schaltfläche Rechtecke und die Linien (der Marker) von der Klasseninstanz zugegriffen werden.
Mit check = CheckButtons(..)
check.rectangles
gibt eine Liste der Hintergründe Buttons als matplotlib.patches.Rectangle
check.labels
gibt eine Liste der Etiketten als matplotlib.text.Text
check.lines
gibt eine Liste von Tupeln von zwei matplotlib.lines.Line2D
, die als Marker dienen .
Alle von ihnen haben set_alpha
Methoden.
Um den Hintergrund zu setzen, ist es am einfachsten, eine Farbe mit einem bereits gesetzten Alpha-Wert anzugeben, wie col = (0,0,1,0.2)
, wobei der letzte Wert das Alpha der blauen Farbe ist. Dies kann über das Argument facecolor
auf die Checkbutton-Achsen gesetzt werden.
Hier ist ein vollständiges Beispiel.
import matplotlib.pyplot as plt
from matplotlib.widgets import CheckButtons
fig= plt.figure(figsize=(4,1.5))
ax = plt.axes([0.4, 0.2, 0.4, 0.6])
ax.plot([2,3,1])
col = (0,0.3,0.75,0.2)
rax = plt.axes([0.1, 0.2, 0.2, 0.6], facecolor=col)
check = CheckButtons(rax, ('red', 'blue', 'green'), (1,0,1))
for r in check.rectangles:
r.set_facecolor("blue")
r.set_edgecolor("k")
r.set_alpha(0.2)
[ll.set_color("white") for l in check.lines for ll in l]
[ll.set_linewidth(3) for l in check.lines for ll in l]
for i, c in enumerate(["r", "b", "g"]):
check.labels[i].set_color(c)
check.labels[i].set_alpha(0.7)
plt.show()
Dank!, Genau das, was ich brauche, – mglasner