Openpyxl 折线图:如何设置图例显示系列名称
要在 openpyxl 中设置折线图的图例显示系列名称,可以使用'Legend'对象的'legend_entries'属性来访问图例项,并使用'LegendEntry'对象的'name'属性来设置系列名称。
以下是一个示例代码,演示如何设置图例显示系列名称:
from openpyxl import Workbook
from openpyxl.chart import LineChart, Reference
from openpyxl.drawing.text import Paragraph, ParagraphProperties, Font
# 创建一个新的工作簿
wb = Workbook()
# 在工作簿中创建一个工作表
ws = wb.active
# 向工作表添加一些数据
data = [
['Series 1', 1, 2, 3],
['Series 2', 4, 5, 6],
['Series 3', 7, 8, 9]
]
for row in data:
ws.append(row)
# 创建折线图对象
chart = LineChart()
# 设置图表的数据范围
values = Reference(ws, min_col=2, min_row=1, max_col=4, max_row=4)
chart.add_data(values, titles_from_data=True)
# 添加图表到工作表
ws.add_chart(chart, "E5")
# 获取图表的图例对象
legend = chart.legend
# 设置图例项的系列名称
for i, legend_entry in enumerate(legend.legend_entries):
# 获取系列名称
series_name = data[i][0]
# 创建一个段落对象,并设置段落的字体属性
paragraph = Paragraph()
paragraph.text = series_name
paragraph.font = Font(name='Arial', size=10)
# 设置图例项的名称为段落对象
legend_entry.name = paragraph
# 保存工作簿
wb.save('chart_with_legend.xlsx')
在上面的示例中,我们创建了一个包含3个系列的折线图,并将其添加到工作表中。然后,我们获取了图例对象,并使用'legend_entries'属性访问每个图例项。对于每个图例项,我们获取了对应的系列名称,创建了一个段落对象,并将段落对象设置为图例项的名称。
最后,我们保存了工作簿,并将其命名为'chart_with_legend.xlsx'。
原文地址: https://www.cveoy.top/t/topic/lL1g 著作权归作者所有。请勿转载和采集!