Python XlsxWriter - 图表格式化
可以自定义图表的默认外观,使其更具吸引力、解释性和用户友好性。 使用 XlsxWriter,我们可以对图表对象进行以下增强 −
设置和格式化图表标题
设置X轴和Y轴标题等参数
配置图表图例
聊天界面选项
设置边框和图案
标题
您可以通过调用set_title() 方法来设置和配置图表对象的主标题。 可以是的各种参数如下 −
Name − 设置要在图表上方显示的图表的名称(标题)。 名称属性是可选的。 默认是没有图表标题。
name_font − 设置图表标题的字体属性。
Overlay − 允许标题覆盖在图表上。
Layout − 以图表相对单位设置标题的 (x, y) 位置。
None − Excel 添加自动图表标题。 none 选项关闭此默认标题。 它还会关闭所有其他 set_title() 选项。
X 和 Y 轴
set_x_axis() 和set_y_axis() 两种方法用于轴标题,name_font 用于标题文本, num_font 用于显示在 X 和 Y 轴上的数字。
name − 设置轴的标题或标题。
name_font − 设置坐标轴标题的字体属性。
num_font − 设置轴号的字体属性。
num_format − 设置轴的数字格式。
major_gridlines − 配置轴的主要网格线。
display_units − 设置轴的显示单位。
在前面的例子中,marklist的数据已经以柱状图的形式展现,我们设置图表格式选项,例如图表标题和 X 以及 Y 轴标题及其其他显示属性,如下所示 −
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} } )
示例
在完整代码中添加上面的代码片段。 现在看起来如下所示 −
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} }) worksheet.insert_chart('B7', chart1) wb.close()
输出
图表显示 title 和 axes 标题如下 −