首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在tkinter中持续刷新FigureCanvasTkAgg

如何在tkinter中持续刷新FigureCanvasTkAgg
EN

Stack Overflow用户
提问于 2020-10-09 10:28:14
回答 1查看 200关注 0票数 1

我尝试在tkinter中连续使用FigureCanvasTkAgg自动更新图表,而不使用按钮。

以下是我到目前为止所编写的代码

代码语言:javascript
运行
复制
import random
import tkinter as tk
import seaborn as sb
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

root = tk.Tk()

def cplot():
    xCord = [random.randint(0,10) for i in range(5)]
    yCord = [random.randint(0,10) for i in range(5)]

    #defining heatmap dimensions
    fig, ax = plt.subplots()

    #ploting heat map with x and y coordinates
    sb.kdeplot(xCord, yCord, shade = True, cmap = "Reds")
    ax.invert_yaxis()
    plt.axis("off")
    plt.show()

    root.after(1, cplot)
    return fig
    
fig = cplot()

canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack()
    
root.after(1, cplot)
root.mainloop()
EN

回答 1

Stack Overflow用户

发布于 2020-10-09 11:10:33

要在计时器上重新生成绘图图像,请在函数内重新创建画布小部件并调用该函数。

尝试以下代码:

代码语言:javascript
运行
复制
import random
import tkinter as tk
import seaborn as sb
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

root = tk.Tk()
canvas = None

def cplot():
    global canvas
    xCord = [random.randint(0,10) for i in range(5)]
    yCord = [random.randint(0,10) for i in range(5)]

    #defining heatmap dimensions
    fig, ax = plt.subplots()

    #ploting heat map with x and y coordinates
    sb.kdeplot(xCord, yCord, shade = True, cmap = "Reds")
    ax.invert_yaxis()
    plt.axis("off")
    
    if canvas: canvas.get_tk_widget().pack_forget()  # remove previous image
    
    canvas = FigureCanvasTkAgg(fig, master=root)
    canvas.draw()
    canvas.get_tk_widget().pack()
    
    root.after(100, cplot)
        
root.after(1, cplot)
root.mainloop()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64273113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档