Python 无废话-办公自动化Excel图表制作

openpyxl 支持用Excel工作表中单元格的数据,创建条形图、折线图、散点图和饼图等。

图表制作步骤

在openpyxl模块中创建图表,步骤如下:

①选择一个单元格区域,创建Reference 对象,作为图形数据a)(Value)。

②创建一个Chart对象

③将数据添加到 Chart 对象

④修饰Chart对象,包括图形标题、分类名称、轴名称、画布大小、图样式。

⑤将Chart 对象添加到Worksheet 对象

图表制作示例

from openpyxl.chart import BarChart, Reference

创建Excel工作簿和工作表

wb = Workbook()

ws = wb.active

准备数据并将其写入工作表中

data = [["月份","华南","华东"],

"1月", 1000,1200\], \["2月", 1500,1800\], \["3月", 800,1300\], \["4月", 1200,1000\], \["5月", 600,800

]

for row in data:

ws.append(row)

创建一个条形图对象

chart = BarChart()

设置条形图的数据源范围

data_range = Reference(ws, min_col=2, min_row=1, max_row=ws.max_row, max_col=3)

chart.add_data(data_range, titles_from_data=True)

categories = Reference(ws, min_col=1, min_row=2, max_row=6)

chart.set_categories(categories) #修改分类名称

chart.title="月度销量对比" #设置标题

chart.x_axis.title="月份" #设置X轴标签

chart.y_axis.title="销量" #设置Y轴标签

chart.style=11

将条形图添加到工作表中,指定图表位置

ws.add_chart(chart, "E5")

保存Excel文件

wb.save("全国销售统计.xlsx")

相关推荐
默归14 分钟前
分治法——二分答案
python·算法
麻雀无能为力1 小时前
python自学笔记14 NumPy 线性代数
笔记·python·numpy
大学生毕业题目1 小时前
毕业项目推荐:28-基于yolov8/yolov5/yolo11的电塔危险物品检测识别系统(Python+卷积神经网络)
人工智能·python·yolo·cnn·pyqt·电塔·危险物品
程序猿小D3 小时前
【完整源码+数据集+部署教程】脑部CT图像分割系统源码和数据集:改进yolo11-CSwinTransformer
python·yolo·计算机视觉·数据集·yolo11·脑部ct图像分割
max5006004 小时前
北京大学MuMo多模态肿瘤分类模型复现与迁移学习
人工智能·python·机器学习·分类·数据挖掘·迁移学习
修一呀4 小时前
[后端快速搭建]基于 Django+DeepSeek API 快速搭建智能问答后端
后端·python·django
WSSWWWSSW4 小时前
Seaborn数据可视化实战:Seaborn数据可视化实战入门
python·信息可视化·数据挖掘·数据分析·matplotlib·seaborn
小石5 小时前
Python 装饰器核心知识点:无参装饰器构建、带参装饰器扩展及函数与类实现差异
python
巴厘猫5 小时前
从 Manim 中提取表格 / 坐标系并转 GIF:实用方案与核心代码
python·音视频开发
老歌老听老掉牙5 小时前
Pandas DataFrame 列数操作完全指南
python·pandas