Python - 使用 XlsxWriter 模块在 Excel 表中绘制条形图

pythonserver side programmingprogramming

条形图或条形图是一种图表或图形,它使用矩形条来呈现分类数据,矩形条的高度或长度与它们所代表的值成比例。条形图可以垂直或水平绘制。垂直条形图有时称为柱形图。

示例

# 导入 xlsxwriter 模块
import xlsxwriter
# Workbook() 接受一个非可选参数,即我们要创建的文件名。
workbook = xlsxwriter.Workbook('chart_bar.xlsx')
# 然后使用 workbook 对象通过 #add_worksheet() 方法添加新工作表。
worksheet = workbook.add_worksheet()
# 使用 #add_format() 方法创建一个新的 Format 对象以格式化工作表中的单元格。
# 这里我们创建粗体格式对象。
bold = workbook.add_format({'bold': 1})
# 创建数据列表。
headlines = ['Number', 'Batch 1', 'Batch 2']
data = [
   [2, 3, 4, 5, 6, 7],
   [80, 80, 100, 60, 50, 100],
   [60, 50, 60, 20, 10, 20],
]
# 从 'A1' 开始以粗体格式写入一行数据。
worksheet.write_row('A1', 标题, 粗体)
# 分别从 'A2'、'B2'、'C2' 开始写入一列数据 worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])
# 创建一个可以使用 #add_chart() 方法添加到工作表的图表对象。
# 这里我们创建一个条形图对象。
chart1 = workbook.add_chart({'type': 'bar'})
# 使用 add_series 方法将数据系列添加到图表。
# 配置第一个系列。
# = Sheet1 !$A$1 相当于 ['Sheet1', 0, 0]。
chart1.add_series({
   'name':       '= Sheet1 !$B$1',
   'categories': '= Sheet1 !$A$2:$A$7',
   'values':     '= Sheet1 !$B$2:$B$7',
})
# 配置第二个系列。注意使用替代语法来定义 #ranges。[sheetname, first_row, first_col, last_row, last_col]。
chart1.add_series({
   'name':       ['Sheet1', 0, 2],
   'categories': ['Sheet1', 1, 0, 6, 0],
   'values':     ['Sheet1', 1, 2, 6, 2],
})
# 添加图表标题
chart1.set_title({'name': '数据分析结果'})
# 添加x轴标签
chart1.set_x_axis({'name': '测试编号'})
# 添加 y 轴标签
chart1.set_y_axis({'名称': '数据长度 (mm)'})
# 设置 Excel 图表样式。
chart1.set_style(11)
# 将图表添加到工作表图表左上角
# 锚定到单元格 E2。
worksheet.insert_chart('E2', chart1)
# 最后,通过 close() 方法关闭 Excel 文件。
workbook.close()

相关文章