写一段python程序,在同一个弹框中画4个图
时间: 2024-05-03 07:19:37 浏览: 122
你可以使用Matplotlib库来绘制图形,并结合Tkinter库来创建弹出窗口。
以下是一个简单的示例程序,它创建了一个弹出窗口,并在其中绘制了四个图形:
```python
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure
# 创建弹出窗口
root = tk.Tk()
root.title("Four Graphs in One Window")
root.geometry("800x600")
# 创建四个图形
fig1 = Figure(figsize=(4, 3), dpi=100)
ax1 = fig1.add_subplot(111)
ax1.plot([1, 2, 3], [2, 4, 3])
fig2 = Figure(figsize=(4, 3), dpi=100)
ax2 = fig2.add_subplot(111)
ax2.plot([1, 2, 3], [4, 2, 1])
fig3 = Figure(figsize=(4, 3), dpi=100)
ax3 = fig3.add_subplot(111)
ax3.plot([1, 2, 3], [1, 3, 4])
fig4 = Figure(figsize=(4, 3), dpi=100)
ax4 = fig4.add_subplot(111)
ax4.plot([1, 2, 3], [3, 1, 2])
# 在弹窗中显示四个图形
canvas1 = FigureCanvasTkAgg(fig1, master=root)
canvas1.draw()
canvas1.get_tk_widget().grid(row=0, column=0)
canvas2 = FigureCanvasTkAgg(fig2, master=root)
canvas2.draw()
canvas2.get_tk_widget().grid(row=0, column=1)
canvas3 = FigureCanvasTkAgg(fig3, master=root)
canvas3.draw()
canvas3.get_tk_widget().grid(row=1, column=0)
canvas4 = FigureCanvasTkAgg(fig4, master=root)
canvas4.draw()
canvas4.get_tk_widget().grid(row=1, column=1)
# 运行主程序
root.mainloop()
```
在这个程序中,我们首先导入了必要的库,然后创建了一个名为root的弹出窗口。接下来,我们使用Matplotlib库创建了四个图形(fig1, fig2, fig3和fig4),每个图形都包含一个坐标轴(ax1, ax2, ax3和ax4)。然后,我们使用FigureCanvasTkAgg类将每个图形绘制到一个名为canvas1、canvas2、canvas3和canvas4的Tkinter小部件中,并在弹窗中显示它们。
你可以根据自己的需要修改这个程序,例如更改图形的大小、类型或内容。
阅读全文