绘制雷达图-源码
from openpyxl import Workbook
from openpyxl.chart import RadarChart, Reference
# 创建工作薄
wb = Workbook()
# 选定工作表
ws = wb.active
# 准备数据
rows = [
['Mouth', 'Bulbs', 'Seeds', 'Flowers', 'Trees'],
['Jan', 0, 2200, 500, 0],
['Feb', 0, 2000, 560, 0],
['Mar', 0, 6500, 1230, 0],
['Apr', 0, 4500, 2500, 0],
]
for row in rows:
ws.append(row)
# 创建图表对象
chart = RadarChart()
chart.type = 'filled'
# 设置数据取值范围
data = Reference(ws, min_col=2, min_row=1, max_col=5, max_row=13)
# 设置类别取值范围
lables = Reference(ws, min_col=1, min_row=2, max_row=13)
chart.add_data(data, titles_from_data=True)
chart.set_categories(lables)
chart.style = 26
# 设置图表标题
chart.title = "雷达图"
chart.y_axis.delete = True
# 将图表保存到指定位置
ws.add_chart(chart, 'A17')
# 将图表保存道工作薄中
wb.save('示例文件/雷达图.xlsx')
绘制雷达图-源码解析
这段代码使用 openpyxl
库在 Python 中创建一个 Excel 文件,并在其中插入一个雷达图。以下是对代码的详细解析:
导入库
from openpyxl import Workbook
from openpyplotlib import RadarChart, Reference
-
Workbook
类用于创建新的 Excel 工作簿。 -
RadarChart
类用于创建雷达图。 -
Reference
类用于定义图表的数据范围和类别范围。
创建工作簿和工作表
wb = Workbook()
ws = wb.active
-
Workbook()
:创建一个新的工作簿。 -
wb.active
:获取当前活动的工作表。
准备数据
rows = [
['Mouth', 'Bulbs', 'Seeds', 'Flowers', 'Trees'],
['Jan', 0, 2200, 500, 0],
['Feb', 0, 2000, 560, 0],
['Mar', 0, 6500, 1230, 0],
['Apr', 0, 4500, 2500, 0],
]
for row in rows:
ws.append(row)
-
定义了一个二维数组
rows
,包含了不同月份(Mouth)和不同类别(Bulbs, Seeds, Flowers, Trees)的数据。 -
使用
append
方法将每一行数据添加到工作表中。
创建雷达图对象并设置属性
chart = RadarChart()
chart.type = 'filled'
data = Reference(ws, min_col=2, min_row=1, max_col=5, max_row=13)
lables = Reference(ws, min_col=1, min_row=2, max_row=13)
chart.add_data(data, titles_from_data=True)
chart.set_categories(lables)
chart.style = 26
-
创建一个
RadarChart
对象。 -
设置图表类型为
'filled'
,表示填充雷达图的区域。 -
使用
Reference
对象定义数据范围和类别范围。 -
add_data
方法用于添加数据区域,并设置titles_from_data=True
以使用数据的第一行作为图例。 -
set_categories
方法用于设置雷达图的类别。 -
设置图表的样式为
26
。
设置图表标题和其他属性
chart.title = "雷达图"
chart.y_axis.delete = True
-
设置图表的标题为 "雷达图"。
-
chart.y_axis.delete = True
删除 Y 轴,因为雷达图通常不需要 Y 轴。
将图表添加到工作表并保存工作簿
ws.add_chart(chart, 'A17')
wb.save('示例文件/雷达图.xlsx')
-
add_chart
方法将图表添加到工作表的指定位置(A17 单元格)。 -
save
方法用于保存工作簿到指定的文件路径。
总结
这段代码演示了如何使用 openpyxl
库在 Python 中创建一个包含雷达图的 Excel 文件。它首先创建了一个工作簿和工作表,然后准备了数据并将其写入工作表。接着,它创建了一个雷达图对象,设置了图表的属性和数据范围,并将图表添加到工作表中。最后,它保存了工作簿到一个文件。
绘制饼图-源码
from openpyxl import Workbook
from openpyxl.chart import PieChart, Reference
from openpyxl.chart.marker import DataPoint
# 创建工作薄对象
wb = Workbook()
# 选择工作表
ws = wb.active
# 准备数据
rows = [
['品类', '销售额'],
['苹果', 10],
['香蕉', 25],
['榴莲', 25],
['西梅', 40]
]
for row in rows:
ws.append(row)
# 创建饼图对象
pie = PieChart()
# 设置数据范围
data = Reference(ws, min_col=2, min_row=1, max_row=5)
# 设置饼图范围
lables = Reference(ws, min_col=1, min_row=2, max_col=5)
pie.add_data(data, titles_from_data=True)
# 设置lables
pie.set_categories(lables)
# 设置图表标题
pie.title = '各类图表销售额占比'
# 设置饼图分离的效果
slice = DataPoint(idx=0, explosion=20)
pie.series[0].data_points = [slice]
# 将图表添加到指定位置
ws.add_chart(pie, 'D1')
wb.save('示例文件/饼图.xlsx')
绘制饼图-源码解析
这段代码使用 openpyxl
库在 Python 中创建一个 Excel 文件,并在其中插入一个饼图。以下是对代码的详细解析:
导入库
from openpyxl import Workbook
from openpyxl.chart import PieChart, Reference
from openpyxl.chart.marker import DataPoint
-
Workbook
类用于创建新的 Excel 工作簿。 -
PieChart
类用于创建饼图。 -
Reference
类用于定义图表的数据范围和类别范围。 -
DataPoint
类用于设置饼图中每个数据点的属性,例如分离效果。
创建工作簿和工作表
wb = Workbook()
ws = wb.active
-
Workbook()
:创建一个新的工作簿。 -
wb.active
:获取当前活动的工作表。
准备数据
rows = [
['品类', '销售额'],
['苹果', 10],
['香蕉', 25],
['榴莲', 25],
['西梅', 40]
]
for row in rows:
ws.append(row)
-
定义了一个二维数组
rows
,包含了不同品类(品类)和对应的销售额(销售额)。 -
使用
append
方法将每一行数据添加到工作表中。
创建饼图对象并设置属性
pie = PieChart()
data = Reference(ws, min_col=2, min_row=1, max_row=5)
lables = Reference(ws, min_col=1, min_row=2, max_col=5)
pie.add_data(data, titles_from_data=True)
pie.set_categories(lables)
pie.title = '各类图表销售额占比'
-
创建一个
PieChart
对象。 -
使用
Reference
对象定义数据范围和类别范围。 -
add_data
方法用于添加数据区域,并设置titles_from_data=True
以使用数据的第一行作为图例。 -
set_categories
方法用于设置饼图的类别。 -
设置图表的标题为 "各类图表销售额占比"。
设置饼图分离效果
slice = DataPoint(idx=0, explosion=20)
pie.series[0].data_points = [slice]
-
创建一个
DataPoint
对象,设置第一个数据点(苹果)的分离效果为 20%。 -
将
DataPoint
对象添加到饼图的第一个系列的数据点中。
将图表添加到工作表并保存工作簿
ws.add_chart(pie, 'D1')
wb.save('示例文件/饼图.xlsx')
-
add_chart
方法将图表添加到工作表的指定位置(D1 单元格)。 -
save
方法用于保存工作簿到指定的文件路径。
总结
这段代码演示了如何使用 openpyxl
库在 Python 中创建一个包含饼图的 Excel 文件。它首先创建了一个工作簿和工作表,然后准备了数据并将其写入工作表。接着,它创建了一个饼图对象,设置了图表的属性和数据范围,并将图表添加到工作表中。最后,它保存了工作簿到一个文件。
绘制3D饼图-源码
from openpyxl import Workbook
from openpyxl.chart import PieChart3D, Reference
# 创建工作薄
wb = Workbook()
# 选中工作表
ws = wb.active
# 准备数据
rows = [
('店铺', '利润'),
('一号店', 120),
('二号店', 80),
('三号店', 160),
('四号店', 50)
]
for row in rows:
ws.append(row)
# 创建图表对象
pie = PieChart3D()
# 选定数据范围
data = Reference(ws, min_col=2, min_row=1, max_row=6)
# 选定类别的范围
lables = Reference(ws, min_col=1, min_row=2, max_row=6)
pie.add_data(data, titles_from_data=True)
pie.set_categories(lables)
# 设置图表标题
pie.title = "3D饼图"
# 将图表添加到指定位置
ws.add_chart(pie, "A10")
# 保存工作薄
wb.save('示例文件/3D饼图.xlsx')
绘制3D饼图-源码解析
这段代码使用 openpyxl
库在 Python 中创建一个 Excel 文件,并在其中插入一个 3D 饼图。以下是对代码的详细解析:
导入库
from openpyxl import Workbook
from openpyxl.chart import PieChart3D, Reference
-
Workbook
类用于创建新的 Excel 工作簿。 -
PieChart3D
类用于创建 3D 饼图。 -
Reference
类用于定义图表的数据范围和类别范围。
创建工作簿和工作表
wb = Workbook()
ws = wb.active
-
Workbook()
:创建一个新的工作簿。 -
wb.active
:获取当前活动的工作表。
准备数据
rows = [
('店铺', '利润'),
('一号店', 120),
('二号店', 80),
('三号店', 160),
('四号店', 50)
]
for row in rows:
ws.append(row)
-
定义了一个二维数组
rows
,包含了不同店铺(店铺)和对应的利润(利润)。 -
使用
append
方法将每一行数据添加到工作表中。
创建 3D 饼图对象并设置属性
pie = PieChart3D()
data = Reference(ws, min_col=2, min_row=1, max_row=6)
lables = Reference(ws, min_col=1, min_row=2, max_row=6)
pie.add_data(data, titles_from_data=True)
pie.set_categories(lables)
pie.title = "3D饼图"
-
创建一个
PieChart3D
对象。 -
使用
Reference
对象定义数据范围和类别范围。 -
add_data
方法用于添加数据区域,并设置titles_from_data=True
以使用数据的第一行作为图例。 -
set_categories
方法用于设置饼图的类别。 -
设置图表的标题为 "3D饼图"。
将图表添加到工作表并保存工作簿
ws.add_chart(pie, "A10")
wb.save('示例文件/3D饼图.xlsx')
-
add_chart
方法将图表添加到工作表的指定位置(A10 单元格)。 -
save
方法用于保存工作簿到指定的文件路径。
总结
这段代码演示了如何使用 openpyxl
库在 Python 中创建一个包含 3D 饼图的 Excel 文件。它首先创建了一个工作簿和工作表,然后准备了数据并将其写入工作表。接着,它创建了一个 3D 饼图对象,设置了图表的属性和数据范围,并将图表添加到工作表中。最后,它保存了工作簿到一个文件。