python在tkinter画布上显示动态图_python - 更新Tkinter中的matplotlib动图

       很多文章有写到这个东西怎么做,但是写的非常的复杂,坑很多。其实这个很简单的,这里给大家提供最简单易懂的代码。前行路之艰且辛,不忍后来者步我前尘...[o(╥﹏╥)o]

感谢我吧~

import tkinter
import random
import tkinter as tk
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg,NavigationToolbar2Tk
import time
# 创建tkinter主界面
root = tk.Tk()
root.geometry("850x650")

p=[1,2,3,4,5,6,7,8,9]
r=[n*n for n in p]

def plot_kline():
    global x,y,k,fig#全局变量
    k=k+1
    x=p[:k]
    y=r[:k]
    fig.clf()  # 清除上一帧内容
    g11 = fig.add_axes([0.1, 0.1, 0.85, 0.85])
    g11.plot(x, y)
    canvas.draw()
    root.after(1000, plot_kline)
#定义以下三个全局变量,利用全局变量更新fig
k=0
x = []
y = []

fig=plt.figure(1)
#把fig放进root
canvas=FigureCanvasTkAgg(fig,master=root)
#绘图
canvas.draw()
#plt图形导航工具条
toolbar=NavigationToolbar2Tk(canvas,root)
#显示plt图形导航工具条
canvas._tkcanvas.pack(side=tkinter.TOP,fill=tkinter.BOTH,expand=1)
# 数据更新
plot_kline()
tkinter.mainloop()

 

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值