写一段python程序,将excel表中第一列作为横坐标,第2和3列作为y值 画一个折线图
时间: 2024-11-27 21:14:05 浏览: 4
要使用pandas读取Excel文件并绘制折线图,可以按照以下步骤操作:
首先,导入必要的库[^1]:
```python
import pandas as pd
import matplotlib.pyplot as plt
```
接着,创建一个`ExcelWriter`对象,用于写入或追加到Excel文件:
```python
# 假设你的Excel文件名为'data.xlsx'
writer = pd.ExcelWriter('data.xlsx', engine='openpyxl') # 使用openpyxl引擎
# 如果你想追加到已存在的文件,可以这样:
# writer = pd.ExcelWriter('data.xlsx', mode='a', engine='openpyxl')
```
然后,读取Excel文件并将数据转换为DataFrame:
```python
df = pd.read_excel(writer, usecols=[0, 1, 2]) # 选择第一列作为x,第二和第三列为y值
```
对数据进行预处理(如果需要),比如设置x轴为整数索引:
```python
if df.columns[0].dtype == 'int':
df.set_index(df.iloc[:, 0], inplace=True)
del df['index'] # 删除原列名作为索引
```
最后,绘制折线图并保存到Excel中:
```python
plt.figure(figsize=(10, 6))
plt.plot(df.index, df.iloc[:, 1:], label=df.columns[1:]) # 第二列作为第一个y值
plt.plot(df.index, df.iloc[:, 2:], label=df.columns[2:]) # 第三列作为第二个y值
plt.xlabel('X (first column)')
plt.ylabel('Y values')
plt.legend()
plt.savefig(f'{writer.book.sheet_names[-1]}_plot.png') # 保存为与工作表同名的图片
```
记得保存Excel文件和关闭`ExcelWriter`:
```python
writer.save()
```
阅读全文