Python办公

Python办公 知识量:2 - 22 - 78

1.8 插入图表><

创建饼图- 1.8.1 -

在openpyxl中创建图表,首先需要导入必要的模块和类,然后创建一个Workbook对象和一个工作表对象。接下来,定义数据并将其添加到工作表中。一旦数据准备好了,可以创建一个图表对象,设置其类型和其他属性,然后将数据系列添加到图表中。最后,将图表添加到工作表中。

以下是一个使用openpyxl创建饼图的示例代码:

import openpyxl  
from openpyxl.chart import PieChart3D, Reference  
  
# 创建一个新的工作簿对象  
wb = openpyxl.Workbook()  
  
# 获取活动工作表  
sheet = wb.active  
  
# 添加数据到工作表  
data = [  
    ['Pie', 'Sold'],  
    ['Apple', 50],  
    ['Cherry', 30],  
    ['Pumpkin', 10],  
    ['Chocolate', 40]  
]  
  
for row in data:  
    sheet.append(row)  
  
# 创建一个饼图对象  
chart = PieChart3D()  
chart.title = "Pie Sales"  
chart.style = 10  
  
# 添加数据系列到图表  
data_range = sheet['B2':'B6']  
labels_range = sheet['A2':'A6']  
chart.add_data(data_range, titles_from_data=True)  
chart.set_categories(labels_range)  
  
# 将图表添加到工作表  
sheet.add_chart(chart, "E10")  
  
# 保存工作簿  
wb.save("pie_chart.xlsx")

在这个示例中,创建了一个3D饼图,并将数据和标签添加到图表中。然后,将图表添加到工作表的"E10"位置,并保存工作簿为"pie_chart.xlsx"。可以根据自己的需求修改数据和图表的样式。请注意,openpyxl支持多种类型的图表,可以根据需要选择适当的图表类型。

创建折线图- 1.8.2 -

以下是使用openpyxl创建折线图的示例代码:

import openpyxl  
from openpyxl.chart import Reference, Series  
  
# 创建一个新的工作簿对象  
wb = openpyxl.Workbook()  
  
# 获取活动工作表  
sheet = wb.active  
  
# 添加数据到工作表  
data = [  
    ['Month', 'Sales'],  
    ['Jan', 100],  
    ['Feb', 150],  
    ['Mar', 175],  
    ['Apr', 200],  
    ['May', 250],  
    ['Jun', 300]  
]  
  
for row in data:  
    sheet.append(row)  
  
# 创建一个折线图对象  
chart = Reference(sheet, min_col=2, min_row=1, max_col=3, max_row=7)  
chart.title = "Sales by Month"  
chart.style = 10  
  
# 添加数据系列到图表  
xvalues = Reference(sheet, min_col=1, min_row=2, max_row=7)  
yvalues = Reference(sheet, min_col=2, min_row=2, max_row=7)  
series = Series(yvalues, xvalues, title="Sales")  
chart.append(series)  
  
# 将图表添加到工作表  
sheet.add_chart(chart, "E5")  
  
# 保存工作簿  
wb.save("line_chart.xlsx")

在这个示例中,创建了一个折线图,并将数据添加到工作表中。然后,使用Reference类来选择要包含在图表中的数据范围,并创建了一个Series对象来指定x轴和y轴的值。最后,将图表添加到工作表的"E5"位置,并保存工作簿为"line_chart.xlsx"。