sympy, graph in frame plotten

Fragen zu Tkinter.
Antworten
silvapuer
User
Beiträge: 7
Registriert: Dienstag 11. Februar 2020, 16:41

hallo, ich versuche dieganzezeit, ein von sympy geplottetes Diagramm (graph) in ein von mir im hauptfenster dazu erstelltes Frame zu bekommen. wenn ich es ganz normal z.B. mit
f1 = plot(x**2) mache, öffnet es ein neues Fenster und plottet es nicht in das dafür vorgesehene Frame.
Das liegt daran, dass sympy matplotlib als backend nutzt.
Meine frage: kann man den Graphen in das eigene Hauptfenster in ein dafür vorgesehenes Frame plotten und wenn ja wie

hier meine versuche:

Code: Alles auswählen

from tkinter import Tk, ttk, Frame, Label, NS, EW
from sympy import *
from sympy.plotting import *

class Calculator:

    def __init__(self, master):
        self.master = master
        master.title("CALCULATOR")

        self.menu = ttk.Notebook(master)
        self.menu.pack()

        self.graph = Frame(self.menu) #in diesen Frame soll das diagramm geplottet werden
       # self.x = symbols("x")
       # self.f1 = plot(self.x**2)#diagramm wird aber in neues fenster geplottet und das Hauptfenster sieht ddurch auch komisch aus
        self.graph_label=Label(self.graph, text="GRAPH")
        self.graph_label.pack()
        
        self.zweite_seite = Frame(self.menu)
        self.infolabel=Label(self.zweite_seite, text="einfach ignorierren,\nwird später noch programmiert,\nist für die Graph seite föllig ohne Bedeutung")
        self.infolabel.pack()

        self.menu.add(self.graph, text="GRAPH")
        self.menu.add(self.zweite_seite, text="Seite 2")

root = Tk()
window = Calculator(root)
root.mainloop()
danke für eure hilfe :)
Benutzeravatar
__blackjack__
User
Beiträge: 14092
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@silvapuer: Das sieht nicht so aus als wenn man `sympy.plotting` da einfach zu überreden könnte, das ist alles sehr geschlossen und automagisch. `sympy.plotting.plot()` muss noch nicht einmal eine grafische Ausgabe haben, das fällt bei Bedarf auch auf eine Textausgabe des Plots zurück.
“It is easier to change the specification to fit the program than vice versa.” — Alan J. Perlis
Antworten