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

📅  最后修改于: 2023-12-03 15:04:24.155000             🧑  作者: Mango

Python | 使用 XlsxWriter 模块在 Excel 工作表中绘制折线图

简介

本文介绍了如何使用Python编程语言中的XlsxWriter模块来绘制折线图并将其插入到Excel工作表中。XlsxWriter是一个功能强大的Python模块,可以创建和修改Excel文件,包括图表和格式。

安装

你可以使用下面的命令使用pip来安装XlsxWriter模块:

pip install XlsxWriter
使用XlsxWriter绘制折线图

以下是在Excel工作表中绘制折线图的基本步骤:

1. 导入XlsxWriter模块

首先,你需要导入XlsxWriter模块以及其他可能需要的Python模块:

import xlsxwriter
2. 创建工作簿和工作表

使用XlsxWriter创建一个新的Excel工作簿,并添加一个工作表:

workbook = xlsxwriter.Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()
3. 准备数据

你需要定义要在折线图中使用的数据。将数据写入Excel工作表的特定单元格:

data = [
    ['Category', 'Value 1', 'Value 2', 'Value 3'],
    ['A', 10, 20, 30],
    ['B', 40, 50, 60],
    ['C', 70, 80, 90],
]

row = 0
col = 0

for category, value1, value2, value3 in data:
    worksheet.write(row, col, category)
    worksheet.write(row + 1, col, value1)
    worksheet.write(row + 2, col, value2)
    worksheet.write(row + 3, col, value3)
    col += 1
4. 创建折线图

使用XlsxWriter创建一个折线图对象:

chart = workbook.add_chart({'type': 'line'})
5. 添加数据系列

向折线图中添加数据系列:

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

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

chart.add_series({
    'name': '=Sheet1!$D$1',
    'categories': '=Sheet1!$A$2:$A$4',
    'values': '=Sheet1!$D$2:$D$4',
})
6. 插入折线图

将折线图插入到工作表的特定位置:

worksheet.insert_chart('E1', chart)
7. 关闭工作簿

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

workbook.close()
运行示例代码

运行以下完整示例代码,可以生成一个包含折线图的Excel文件(chart.xlsx):

import xlsxwriter

workbook = xlsxwriter.Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()

data = [
    ['Category', 'Value 1', 'Value 2', 'Value 3'],
    ['A', 10, 20, 30],
    ['B', 40, 50, 60],
    ['C', 70, 80, 90],
]

row = 0
col = 0

for category, value1, value2, value3 in data:
    worksheet.write(row, col, category)
    worksheet.write(row + 1, col, value1)
    worksheet.write(row + 2, col, value2)
    worksheet.write(row + 3, col, value3)
    col += 1

chart = workbook.add_chart({'type': 'line'})

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

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

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

worksheet.insert_chart('E1', chart)

workbook.close()

以上代码将生成一个包含折线图的Excel文件(chart.xlsx)。

总结

使用XlsxWriter模块,你可以轻松地在Python中创建和修改Excel文件,并绘制折线图等各种图表。这对于进行数据可视化和报告生成非常有用。