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: 14087
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.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten