python 使用PySimpleGui和matplotlib将dataframe表格中的四列4列数据做4个折线图,折线图分两行,每行两个图
时间: 2024-10-05 12:02:55 浏览: 28
Python如何使用内置库matplotlib绘制折线图
在Python中,你可以使用`PySimpleGUI`库创建窗口和布局,然后结合`matplotlib`库绘制折线图。首先,你需要安装这两个库,如果尚未安装可以使用下面命令:
```bash
pip install PySimpleGUI matplotlib pandas
```
接着,假设你有一个Pandas DataFrame `df`,它有四列数据需要画成四条折线图。这里是一个简单的示例,展示如何按照你的需求进行操作:
```python
import PySimpleGUI as sg
import matplotlib.pyplot as plt
import matplotlib.figure
import pandas as pd
# 假设 df 是你的 DataFrame
if isinstance(df, pd.DataFrame):
# 创建一个figure容器,分为两行两列
fig = matplotlib.figure.Figure(constrained_layout=True)
grid_spec = fig.add_gridspec(nrows=2, ncols=2)
for i, col in enumerate(df.columns[:4]): # 取前四列
ax = fig.add_subplot(grid_spec[i // 2, i % 2])
ax.plot(df[col]) # 绘制折线图
# 把 Matplotlib 图像转换为 PySimpleGUI 可显示的对象
image = sg.Image(data=fig.canvas.tostring_rgb(), size=(600, 400))
# 设计窗口布局
layout = [
[sg.Text('DataFrame折线图')],
[image],
]
window = sg.Window("折线图", layout)
event, values = window.read()
window.close()
```
这个脚本会创建一个窗口,包含一个大的图片区域显示四条折线图。记得替换`df`为你实际的数据源。
阅读全文