Python XlsxWriter – 图表图例
根据图表的类型,数据以柱状、条状、线状、弧状等不同颜色或图案的形式直观地表现出来。图表图例使人们能够很容易地理解哪种颜色/图案对应于哪种数据系列。
使用图表图例的工作
为了设置图例并配置其属性,如位置和字体,XlsxWriter有 set_legend() 方法。这些属性是 –
- None – 在Excel中,图表图例是默认打开的。none=True选项可以关闭图表图例。
-
Position – 设置图表图例的位置。它可以被设置为顶部、底部、左侧、右侧、无。
-
Font – 设置图表图例的字体属性(如名称、大小、粗体、斜体等)。
-
Border – 设置图例的边框属性,如颜色和样式。
-
Fill – 设置图例的实体填充属性,如颜色。
-
Pattern – 设置图例的图案填充属性。
-
Gradient – 设置图例的梯度填充属性。
为图表设置的一些图例属性如下:
chart1.set_legend(
{'position':'bottom', 'font': {'name':'calibri','size': 9, 'bold': True}}
)
例子
以下是根据上述特征显示图例的完整代码-
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
chart1 = wb.add_chart({'type': 'column'})
# Add the worksheet data that the charts will refer to.
headings = ['Name', 'Phy', 'Maths']
data = [
["Jay", 30, 60],
["Mohan", 40, 50],
["Veeru", 60, 70],
]
worksheet.write_row(0,0, headings)
worksheet.write_row(1,0, data[0])
worksheet.write_row(2,0, data[1])
worksheet.write_row(3,0, data[2])
chart1.add_series({
'name': '=Sheet1!B1',
'categories': '=Sheet1!A2:A4',
'values': '=Sheet1!B2:B4',
})
chart1.add_series({
'name': ['Sheet1', 0, 2],
'categories': ['Sheet1', 1, 0, 3, 0],
'values': ['Sheet1', 1, 2, 3, 2],
})
chart1.set_title ({'name': 'Marklist', 'name_font':
{'name':'Times New Roman', 'size':24}})
chart1.set_x_axis({'name': 'Students', 'name_font':
{'name':'Arial', 'size':16, 'bold':True},})
chart1.set_y_axis({'name': 'Marks','name_font':
{'name':'Arial', 'size':16, 'bold':True},
'num_font':{'name':'Arial', 'italic':True}})
chart1.set_legend({'position':'bottom', 'font':
{'name':'calibri','size': 9, 'bold': True}})
worksheet.insert_chart('B7', chart1)
wb.close()
输出
该图表在X轴的标题下显示了图例。
在图表中,对应于 物理 和 数学 的列以不同的颜色显示。图表右侧的彩色小方框符号是图例,显示哪种颜色对应于 物理学 或 数学。