怎么在tkinter窗口界面中显示用plt画的图
时间: 2023-12-27 20:03:26 浏览: 148
要在tkinter窗口界面中显示使用matplotlib库中的pyplot模块画的图,可以使用FigureCanvasTkAgg类。以下是显示图表的步骤:
1. 导入tkinter和matplotlib库
```python
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
```
2. 创建主窗口以及一个Figure对象和一个Axes对象
```python
root = tk.Tk()
fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
```
3. 使用pyplot模块画图
```python
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
ax.plot(x, y)
```
4. 创建FigureCanvasTkAgg对象,将图表放入其中
```python
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack()
```
5. 运行主循环
```python
root.mainloop()
```
完整代码:
```python
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
import numpy as np
root = tk.Tk()
fig = Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
ax.plot(x, y)
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack()
root.mainloop()
```
请注意,使用FigureCanvasTkAgg时需要保留对图表的引用,以防止图表被垃圾回收。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)