PySimpleGUI跟matplotlib结合的代码?
时间: 2023-07-03 13:31:51 浏览: 131
matplotlib练习代码.zip
以下是一个简单的PySimpleGUI和matplotlib结合的代码,可以绘制一个简单的折线图:
```python
import PySimpleGUI as sg
import matplotlib.pyplot as plt
# 定义GUI布局
layout = [[sg.Input(key='-X-', size=(20,1)), sg.Input(key='-Y-', size=(20,1)), sg.Button('Plot')],
[sg.Canvas(key='-CANVAS-')]]
# 创建窗口
window = sg.Window('Plotting with PySimpleGUI and Matplotlib', layout)
# 初始化图形
fig, ax = plt.subplots()
# 创建绘图函数
def plot(x, y):
ax.clear()
ax.plot(x, y)
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_title('Plot')
fig.canvas.draw()
# 事件循环
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
if event == 'Plot':
try:
x = list(map(float, values['-X-'].split(',')))
y = list(map(float, values['-Y-'].split(',')))
plot(x, y)
canvas = window['-CANVAS-'].TKCanvas
canvas.get_tk_widget().pack(side='top', fill='both', expand=1)
canvas._tkcanvas.pack(side='top', fill='both', expand=1)
plt.show(block=False)
except:
sg.popup_error('Invalid input!')
```
在该代码中,我们使用了PySimpleGUI来创建GUI界面,用户可以输入X值和Y值,并点击“Plot”按钮来绘制图形。我们使用matplotlib来绘制图形,绘图函数plot()会在每次点击“Plot”按钮时被调用,根据用户输入的X值和Y值来绘制折线图。在绘制图形时,我们使用了TkAgg后端,将matplotlib的图形嵌入到PySimpleGUI的Canvas控件中。
阅读全文