用py将表格里面第一二三列在表格里用制图做成曲线放入新的sheet,其中第一个参数为横坐标数据显示出来,第二个参数为纵坐标数据
时间: 2024-03-27 08:40:57 浏览: 97
好的,可以使用Python的pandas和openpyxl库来实现这个功能。以下是示例代码:
```python
import pandas as pd
from openpyxl import Workbook
from openpyxl.chart import LineChart, Reference, Series
# 读取表格数据
df = pd.read_excel('your_file.xlsx')
# 取出第一、二、三列数据
x = df.iloc[:, 0]
y1 = df.iloc[:, 1]
y2 = df.iloc[:, 2]
# 创建一个新的工作簿
wb = Workbook()
sheet = wb.active
# 将数据写入新的工作簿
for i in range(len(x)):
sheet.cell(row=i+1, column=1, value=x[i])
sheet.cell(row=i+1, column=2, value=y1[i])
sheet.cell(row=i+1, column=3, value=y2[i])
# 创建一个折线图
chart = LineChart()
data = Reference(sheet, min_col=2, max_col=3, min_row=1, max_row=len(x))
chart.add_data(data, titles_from_data=True)
chart.title = 'My Chart'
chart.x_axis.title = 'X'
chart.y_axis.title = 'Y'
# 将折线图添加到新的sheet中
chart_sheet = wb.create_sheet('Chart Sheet')
chart_sheet.add_chart(chart, 'A1')
# 保存工作簿
wb.save('your_file.xlsx')
```
在这个示例代码中,我们首先使用pandas库读取表格数据,并取出第一、二、三列数据。然后,我们创建一个新的工作簿,并将数据写入其中。接着,我们创建一个折线图,并将其添加到新的sheet中。最后,我们保存工作簿。
需要注意的是,这个示例代码中使用了openpyxl的LineChart类来创建折线图,所以需要在开头导入`from openpyxl.chart import LineChart, Reference, Series`。另外,需要安装以下库:pandas和openpyxl。
阅读全文