python 怎么使matplotlib的bar图在tkinter窗口里显示
时间: 2024-02-28 14:54:28 浏览: 188
要在tkinter窗口中显示matplotlib的bar图,你可以使用matplotlib的FigureCanvasTkAgg和NavigationToolbar2Tk工具。下面是一个简单的代码示例:
```python
import tkinter as tk
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
# 创建一个窗口
root = tk.Tk()
root.title("Bar Chart Example")
# 创建一个图形对象
fig = plt.Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
# 生成一些数据
x = ['A', 'B', 'C', 'D', 'E']
y = np.random.randint(1, 10, size=5)
# 在图形对象上绘制一个条形图
ax.bar(x, y)
# 创建一个FigureCanvasTkAgg对象,将图形对象绑定到它上面
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
# 创建一个NavigationToolbar2Tk对象,用于缩放和导航图形
toolbar = NavigationToolbar2Tk(canvas, root)
toolbar.update()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
# 运行窗口
tk.mainloop()
```
在这个例子中,我们首先创建了一个tkinter窗口。然后,我们创建一个matplotlib图形对象,并在其上绘制一个简单的条形图。接下来,我们创建一个FigureCanvasTkAgg对象,并将图形对象绑定到它上面。最后,我们创建一个NavigationToolbar2Tk对象,用于缩放和导航图形。最后我们运行窗口,就可以在其中看到matplotlib的条形图了。
阅读全文