📌  相关文章
📜  Python|使用 XlsxWriter 模块在 Excel 工作表中绘制面积图(1)

📅  最后修改于: 2023-12-03 14:46:26.130000             🧑  作者: Mango

Python 使用 XlsxWriter 模块在 Excel 工作表中绘制面积图

XlsxWriter 是一个用于创建 Excel XLSX 文件的 Python 模块。它可以帮助用户创建各种各样的 Excel 文件,并提供多种绘图的功能,包括折线图、柱形图和面积图等。

本文将主要介绍如何使用 XlsxWriter 模块在 Excel 工作表中绘制面积图。首先需要安装 XlsxWriter,可以通过 pip 安装:

pip install XlsxWriter

在安装完成 XlsxWriter 后,需要创建一个新的 Excel 文件:

import xlsxwriter

# 创建一个新的 Excel 文件
workbook = xlsxwriter.Workbook('area_chart.xlsx')

接下来,需要创建一个工作表:

# 创建工作表
worksheet = workbook.add_worksheet()

在工作表中,可以添加数据以及绘制图形。首先,需要添加一些示例数据:

# 添加数据
data = [
    ['Month', 'Sales', 'Expenses'],
    ['January', 75, 65],
    ['February', 50, 40],
    ['March', 90, 85],
    ['April', 70, 75],
    ['May', 85, 80],
    ['June', 75, 70]
]

# 写入数据
for row_num, data_row in enumerate(data):
    # 写入数据
    worksheet.write_row(row_num, 0, data_row)

接下来,通过调用 add_chart() 方法创建一个面积图:

# 创建面积图
chart = workbook.add_chart({'type': 'area'})

# 添加数据系列
chart.add_series({
    'name': '=Sheet1!$B$1',
    'categories': '=Sheet1!$A$2:$A$7',
    'values': '=Sheet1!$B$2:$B$7'
})

chart.add_series({
    'name': '=Sheet1!$C$1',
    'categories': '=Sheet1!$A$2:$A$7',
    'values': '=Sheet1!$C$2:$C$7'
})

# 设置图形属性
chart.set_title({'name': 'Sales vs Expenses'})
chart.set_legend({'position': 'top'})

# 将图形插入到工作表中
worksheet.insert_chart('E2', chart)

最后,需要关闭工作簿以保存文件:

# 关闭工作簿
workbook.close()

这就是使用 XlsxWriter 模块在 Excel 工作表中绘制面积图的方法。完整代码如下:

import xlsxwriter

# 创建一个新的 Excel 文件
workbook = xlsxwriter.Workbook('area_chart.xlsx')

# 创建工作表
worksheet = workbook.add_worksheet()

# 添加数据
data = [
    ['Month', 'Sales', 'Expenses'],
    ['January', 75, 65],
    ['February', 50, 40],
    ['March', 90, 85],
    ['April', 70, 75],
    ['May', 85, 80],
    ['June', 75, 70]
]

# 写入数据
for row_num, data_row in enumerate(data):
    # 写入数据
    worksheet.write_row(row_num, 0, data_row)

# 创建面积图
chart = workbook.add_chart({'type': 'area'})

# 添加数据系列
chart.add_series({
    'name': '=Sheet1!$B$1',
    'categories': '=Sheet1!$A$2:$A$7',
    'values': '=Sheet1!$B$2:$B$7'
})

chart.add_series({
    'name': '=Sheet1!$C$1',
    'categories': '=Sheet1!$A$2:$A$7',
    'values': '=Sheet1!$C$2:$C$7'
})

# 设置图形属性
chart.set_title({'name': 'Sales vs Expenses'})
chart.set_legend({'position': 'top'})

# 将图形插入到工作表中
worksheet.insert_chart('E2', chart)

# 关闭工作簿
workbook.close()

以上就是使用 XlsxWriter 模块在 Excel 工作表中绘制面积图的方法,希望对您有所帮助。