欢迎访问宙启技术站
智能推送

利用Workbook()函数在Python中实现Excel文件的图表绘制

发布时间:2023-12-24 01:50:10

在Python中,可以使用openpyxl库来创建和操作Excel文件,并使用其中的Workbook()函数来创建一个新的Excel工作簿。可以通过为工作簿添加工作表并填充数据来绘制图表。

下面是一个使用openpyxl库和Workbook()函数绘制Excel文件图表的示例代码:

import openpyxl
from openpyxl import Workbook
from openpyxl.utils import get_column_letter
from openpyxl.drawing.image import Image
from openpyxl.chart import BarChart, Reference

# 创建一个新的工作簿
workbook = Workbook()

# 获取当前活动的工作表
worksheet = workbook.active

# 设置工作表的名称
worksheet.title = "Sales Data"

# 添加数据到工作表
data = [
    ['Product', 'Sales'],
    ['Product A', 100],
    ['Product B', 200],
    ['Product C', 150],
    ['Product D', 300],
]

for row in data:
    worksheet.append(row)

# 创建一个柱状图
chart = BarChart()

# 设置图表的标题和数据范围
chart.title = "Sales Data"
values = Reference(worksheet, min_col=2, min_row=1, max_col=2, max_row=5)
categories = Reference(worksheet, min_col=1, min_row=2, max_row=5)
chart.add_data(values, titles_from_data=True)
chart.set_categories(categories)

# 将图表插入到工作表的特定位置
worksheet.add_chart(chart, "D1")

# 保存Excel文件
workbook.save("sales_data.xlsx")

上述代码首先导入需要的openpyxl库的模块,然后创建了一个新的工作簿。通过使用workbook.active,可以获得当前活动的工作表。接下来,使用worksheet.title可以设置工作表的名称。

通过遍历data列表,可以将数据添加到工作表中,使用worksheet.append(row)可以将每个行数据添加到工作表的末尾。

然后,创建了一个柱状图并设置了标题和数据范围。使用Reference()函数指定绘图所需的数据范围,并将其添加到图表中。

最后,使用worksheet.add_chart()函数将图表插入到工作表的指定位置。

最后保存Excel文件,使用workbook.save()函数指定文件名。

以上示例代码将会创建一个名为"sales_data.xlsx"的Excel文件,并在工作表中绘制了柱状图。