Openpyxl 折线图:如何将图例名称设置为列名
要将 Openpyxl 中的折线图设置为列名作为图例名称,您可以按照以下步骤进行操作:
- 导入所需的模块:
from openpyxl import Workbook
from openpyxl.chart import LineChart, Reference
- 创建一个 Workbook 对象并获取要操作的工作表:
wb = Workbook()
ws = wb.active
- 假设您的数据已经存在于列 A 和列 B 中,将数据添加到工作表中:
data = [
['X轴', 'Y轴'],
[1, 10],
[2, 15],
[3, 7],
[4, 12],
[5, 9]
]
for row in data:
ws.append(row)
- 创建一个 LineChart 对象,并将数据范围设置为列 A 和列 B 的数据:
chart = LineChart()
values = Reference(ws, min_col=2, min_row=2, max_col=2, max_row=6)
categories = Reference(ws, min_col=1, min_row=2, max_row=6)
chart.add_data(values, titles_from_data=True)
chart.set_categories(categories)
- 设置图例名称为列名:
chart.legend.title = ws.cell(row=1, column=2).value
- 将图表添加到工作表中:
ws.add_chart(chart, 'D1')
- 保存工作簿:
wb.save('chart.xlsx')
完整的代码示例如下:
from openpyxl import Workbook
from openpyxl.chart import LineChart, Reference
wb = Workbook()
ws = wb.active
data = [
['X轴', 'Y轴'],
[1, 10],
[2, 15],
[3, 7],
[4, 12],
[5, 9]
]
for row in data:
ws.append(row)
chart = LineChart()
values = Reference(ws, min_col=2, min_row=2, max_col=2, max_row=6)
categories = Reference(ws, min_col=1, min_row=2, max_row=6)
chart.add_data(values, titles_from_data=True)
chart.set_categories(categories)
chart.legend.title = ws.cell(row=1, column=2).value
ws.add_chart(chart, 'D1')
wb.save('chart.xlsx')
运行此代码后,将创建一个名为“chart.xlsx”的 Excel 文件,其中包含一个折线图,并将图例名称设置为列名。
注意: 此代码示例假设数据存储在工作表的第一行和第二行,并且列名在第一行中。您可以根据实际数据进行调整。
原文地址: https://www.cveoy.top/t/topic/lKo4 著作权归作者所有。请勿转载和采集!