python获取excel,用PySimpleGUI创建一个界面,通过多个按钮实现输出多个折线图
时间: 2024-04-29 20:26:08 浏览: 50
好的,为您提供一个解决方案。首先,您需要使用pandas库来读取和处理Excel文件,并使用matplotlib库来绘制折线图。下面是一个示例代码,帮助您开始:
```python
import PySimpleGUI as sg
import pandas as pd
import matplotlib.pyplot as plt
# 创建PySimpleGUI界面
layout = [[sg.Text('请输入Excel文件名:'), sg.InputText(key='file_path'), sg.FileBrowse()],
[sg.Button('折线图1'), sg.Button('折线图2'), sg.Button('折线图3'), sg.Button('退出')]]
window = sg.Window('折线图生成器', layout)
# 当点击退出按钮或关闭窗口时退出程序
while True:
event, values = window.read()
if event == '退出' or event == sg.WIN_CLOSED:
break
# 读取Excel文件并处理数据
df = pd.read_excel(values['file_path'])
x = df['x']
y1 = df['y1']
y2 = df['y2']
y3 = df['y3']
# 绘制折线图
if event == '折线图1':
plt.plot(x, y1, marker='o')
plt.xlabel('X')
plt.ylabel('Y1')
plt.title('折线图1')
plt.show()
elif event == '折线图2':
plt.plot(x, y2, marker='o')
plt.xlabel('X')
plt.ylabel('Y2')
plt.title('折线图2')
plt.show()
elif event == '折线图3':
plt.plot(x, y3, marker='o')
plt.xlabel('X')
plt.ylabel('Y3')
plt.title('折线图3')
plt.show()
window.close()
```
您可以将此代码保存为.py文件并运行,然后按照界面中的操作指示进行操作。注意,您需要将Excel文件放在程序所在的目录中,或者输入完整的文件路径。作为AI,我没有权限访问您的文件系统,因此您需要自己手动输入文件路径。希望这可以帮助您!
阅读全文