Matplotlib Checkbox an einen Subplot

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Alsen
User
Beiträge: 12
Registriert: Dienstag 6. November 2018, 12:50

Guten Tag,

ich habe einen Plot der aus Subplots besteht. Nun möchte ich an diese Subplots Checkboxen an heftigen, die sich links vom Plot befinden.
In etwa wie hierhttps://stackoverflow.com/questions/424 ... matplotlib
Jedoch in Subplots und ohne Pyplot zu verwenden. Da mein aktueller Code wie folgt aussieht.

Bild

Mit der Checkbox möchte ich zusätzliche Elemente in den Plots darstellen oder halt abstellen. Hab mir die API durchgelesen und auch auf Stackoverflow gestöbert. Bin leider nicht fündig geworden.
Besten Dank im vorraus für eure Mühe und Zeit.

Code: Alles auswählen

        #plots initialisieren
        fig=Figure(figsize=(14,7))
        self.plots = FigureCanvasKivyAgg(fig)
      
        # Kaustik Plot
        pk=fig.add_subplot(1,3,1)
        pk.set(xlabel="beam diameter [µm]",ylabel="z [mm]")
        pk.set_ylim(-30,30)
        pk.grid(b=True, which="major",alpha=0.2, color="black", linestyle="-")
        rax = plt.axes([1, 2, 2, 6]) #?!?!?!
        
        self.check=CheckButtons(rax,('Gauß beam',),actives=None)
        self.check.on_clicked(self.func)
        
        # 3D-Surface Plot
        ps3 = fig.add_subplot(2,3,3, projection='3d') 
        ps3.set(xlabel="x [µm]",ylabel="y [µm]",zlabel="intensity [%]")
        ps3.mouse_init(False) #erlaubt Mausrotation des Plottes
        
       
        # 2D-Surface Plot
        ps2=fig.add_subplot(2,3,2)
        ps2.set(xlabel="x [µm]",ylabel="y [µm]") 
        ps2.set_aspect("auto",adjustable="box")
        
        # Gaußplot Y und Intensität    
        py=fig.add_subplot(2,3,6)
        py.set(xlabel="y [µm]",ylabel="intensity [%]")
        py.set_ylim(0,100)
        py.grid(b=True, which="major",alpha=0.2, color="black", linestyle="-")

        # Gaußplot X und Intensität
        px=fig.add_subplot(2,3,5)
        px.set(xlabel="x [µm]",ylabel="intensity [%]",)
        px.set_ylim(0,100)
        px.grid(b=True, which="major",alpha=0.2, color="black", linestyle="-")

        fig.set_tight_layout(True)
     
        
        #buttons
        self.BoxL.add_widget(self.plots)
Alsen
User
Beiträge: 12
Registriert: Dienstag 6. November 2018, 12:50

Weiss denn niemand zu helfen ?... :D
Antworten