用python写一个文件选择窗口,并读取所选择的csv文件,并画折线图,将第一列时间固为x轴,其他4列为y轴,且图像不重叠显示
时间: 2023-05-28 18:06:59 浏览: 129
python实现从文件中读取数据并绘制成 x y 轴图形的方法
5星 · 资源好评率100%
以下是一个示例代码,要求选择一个csv文件,读取其中的数据并绘制折线图:
```python
import tkinter as tk
from tkinter import filedialog
import pandas as pd
import matplotlib.pyplot as plt
# 创建tkinter窗口
root = tk.Tk()
root.withdraw()
# 选择csv文件
file_path = filedialog.askopenfilename(filetypes=[('CSV Files', '*.csv')])
# 读取csv文件
df = pd.read_csv(file_path)
# 绘制折线图
fig, ax = plt.subplots()
for i in range(1, 5):
ax.plot(df.iloc[:, 0], df.iloc[:, i], label=df.columns[i])
ax.legend()
plt.show()
```
解释一下代码:
首先,我们使用`tkinter`库创建一个窗口,并调用`filedialog.askopenfilename()`方法来让用户选择一个csv文件。然后,我们使用`pandas`库的`read_csv()`方法读取该文件,并将其存储在一个名为`df`的DataFrame对象中。最后,我们使用`matplotlib`库绘制折线图,其中`df.iloc[:, 0]`表示DataFrame的第一列,即时间列,`df.iloc[:, i]`表示DataFrame的第i列,即y轴数据列。`ax.plot()`方法用于将数据绘制为折线图,并使用`ax.legend()`方法添加图例。最后,使用`plt.show()`方法显示图像。
阅读全文