【问题标题】:how to update the plot in my tkinter window?如何更新我的 tkinter 窗口中的绘图?
【发布时间】:2022-01-14 15:54:00
【问题描述】:

我正在尝试创建 GUI。我已经编写了以下代码。但是,我希望不仅要添加绘制的图像,还要“更新”现有图像。我在代码中的错误在哪里?

我尝试使用 pack_forget() 方法,但这对我不起作用。

感谢您的帮助。

谢谢

from tkinter import * 
from matplotlib.figure import Figure 
from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg,  
NavigationToolbar2Tk) 
import pandas as pd
import matplotlib as plt
from sklearn.cluster import KMeans

  
def plot_Raw_Data(): 

    fig = Figure(figsize = (5, 5), 
                 dpi = 100
                 ) 
  
    
    ## Benennung CSV File Name
    csv_file_1 = 'Mappe1.csv'

    ## Erstelle DF aus CSV Datei. -> Sep müssen wir anpassen, da sonst eventuell ein Fehler mit den richtigen Daten auftritt
    df = pd.read_csv(csv_file_1, sep = ';')

    ## gebe die ersten Zeilen des DF aus, zur Fehlerüberprüfung, kann später auskommentiert werden
    print(df.head())

 
    plot1 = fig.add_subplot(111) 
  
    
    plot1.scatter(df['Temperature'], df['Pressure']) 
  
    
    
    canvas = FigureCanvasTkAgg(fig, 
                               master = window)   
    canvas.draw() 
  
    
    canvas.get_tk_widget().pack() 
  
    
    toolbar = NavigationToolbar2Tk(canvas, 
                                   window) 
    toolbar.update() 
  
    
    canvas.get_tk_widget().pack() 


window = Tk() 
  
window.title('GSWN') 
  
window.geometry("500x500") 
  
plot1_button = Button(master = window,  
                     command = plot_Raw_Data,
                     height = 2,  
                     text = "Plot Raw Data"
                     
                     ) 
  
plot1_button.pack() 


window.mainloop() 

这是图形用户界面:

【问题讨论】:

标签: python matplotlib tkinter


【解决方案1】:

看起来您每次想要更新画布时都在创建一个新图形。

fig = Figure(figsize = (5, 5), dpi = 100)

也许您应该只在函数外部创建一次fig 并将其作为参数传递。

【讨论】:

    猜你喜欢
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多