Python Xlsxwriter 简明教程
Python XlsxWriter - Chart Legends
根据图表类型,数据以不同颜色或图案的形式在柱状图、条形图、折线图、圆弧图等形式中进行视觉呈现。图表图例能够轻松直观地显示哪种颜色/图案对应于哪种数据系列。
Working with Chart Legends
为了设置图例并配置其属性,例如位置和字体,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}}
)
Example
以下是按上述特性显示图例的完整代码 −
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!$B$1',
'categories': '=Sheet1!$A$2:$A$4',
'values': '=Sheet1!$B$2:$B$4',
})
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()