Python如何实时用matploylib画图并将其显示在tkinter窗口中
时间: 2024-03-02 21:51:26 浏览: 117
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
5星 · 资源好评率100%
可以使用matplotlib和Tkinter库来实现实时画图并在Tkinter窗口中显示。具体步骤如下:
1. 导入必要的库:
```python
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import numpy as np
```
2. 创建Tkinter窗口和Matplotlib图形:
```python
root = tk.Tk()
# 创建Matplotlib图形
fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
line, = ax.plot(np.random.rand(10))
# 创建Tkinter窗口
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
```
3. 定义更新函数:
```python
def update():
ydata = np.random.rand(10)
line.set_ydata(ydata)
ax.relim()
ax.autoscale_view()
canvas.draw()
root.after(1000, update)
```
4. 启动更新函数:
```python
update()
root.mainloop()
```
这样就可以在Tkinter窗口中实时显示Matplotlib图形了。在更新函数中,可以通过修改数据来实时更新图形,然后通过canvas.draw()方法将图形绘制到Tkinter窗口中。root.after(1000, update)方法用于每隔1秒钟调用一次更新函数。
阅读全文