标签:#Python办公自动化 #数据可视化 #Matplotlib #自动绘图 #报表配图 #数据分析
前面八篇教程,我们已经打通了完整的数据自动化链路:Excel数据处理、Word文档生成、PPT自动汇报、邮件批量推送、文件智能归档、NumPy+Pandas大数据清洗分析。
我们现在可以全自动处理数据、全自动汇总报表、全自动归档推送,但绝大多数自动化报表都缺少最后一步:可视化图表展示。
职场做报表、写汇报,永远逃不开图表!纯文字+表格的数据枯燥难懂,而精美图表可以直观体现数据差异、趋势、占比,让汇报档次直接提升。
日常办公绘图痛点,每一个都很折磨:
❌ Excel手动插图表、调颜色、改字体、改尺寸,耗时费力
❌ 数据更新后,图表需要手动刷新、重新调整样式
❌ 多图表汇报,重复操作,机械枯燥
❌ 默认图表样式丑陋,配色廉价,不够正式商务
❌ 无法批量生成、定时更新图表,日报周报重复做图
本篇作为数据分析自动化收官篇,带大家零基础吃透 Matplotlib 全自动绘图!实现柱状图、折线图、饼图三大职场核心图表自动生成、样式美化、尺寸自定义、自动保存,完美衔接Pandas数据处理成果,真正实现 数据清洗→统计分析→自动绘图→报表配图→PPT插图→邮件推送 全链路终极闭环!
Matplotlib 是 Python 最经典、最稳定的可视化绘图库,适配所有办公报表场景,兼容性极强、无花哨BUG、是企业报表首选工具。
执行以下命令一键安装(国内镜像极速版):
pip install matplotlib pandas numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
核心能力拆解(职场全覆盖)
- 柱状图:对比类数据,部门业绩、品类销量、人员薪资对比
- 折线图:趋势类数据,每日销量、月度营收、数据波动走势
- 饼图:占比类数据,部门人数占比、品类销售占比、费用占比分析
通用前置配置(必加)
所有代码通用,彻底解决中文方框乱码、负号异常问题,适配所有Windows、Mac设备:
# -*- coding:utf-8 -*-import matplotlib.pyplot as plt# 全局配置:解决中文方框乱码plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"]plt.rcParams["axes.unicode_minus"] = False # 正常显示负号
所有代码开箱即用、样式商务美观、无需复杂调试,可直接用于正式汇报、工作总结、数据分析报表!
柱状图是职场使用频率最高的图表,多用于多组别数据横向对比。本篇统一采用高级商务深蓝配色,字体规整、样式极简,完全适配企业正式报表。
核心优势:内置中文兼容、300dpi高清分辨率,图片无锯齿、超清晰,可直接插入Word、PPT用于正式汇报。
# -*- coding:utf-8 -*-import matplotlib.pyplot as plt# 全局中文配置plt.rcParams["font.family"] = ["SimHei"]plt.rcParams["axes.unicode_minus"] = False# 模拟业务数据:部门+月度营收depart = ["销售一部", "销售二部", "销售三部", "销售四部"]revenue = [285, 412, 326, 248]# 创建画布:尺寸+高清分辨率plt.figure(figsize=(8, 5), dpi=300)# 绘制商务风柱状图bars = plt.bar(depart, revenue, color="#2E5EAA")# 为每个柱子添加数值标注for bar in bars: height = bar.get_height() plt.text(bar.get_x() + bar.get_width()/2., height + 5, f"{height}", ha="center", fontsize=9)# 图表基础样式设置plt.title("各部门月度营收对比", fontsize=12)plt.ylabel("营收(万元)")plt.grid(axis="y", alpha=0.3) # 横向浅网格,提升可读性plt.tight_layout() # 自动去除图片多余留白# 保存高清图表plt.savefig("部门营收柱状图.png")plt.close() # 释放画布,避免后续图表重叠print("✅ 商务柱状图生成完成")
折线图专门用于展示数据随时间的变化趋势,完美适配日报、周报、月度复盘、年度走势分析,可直观体现数据涨跌、波动规律。
场景落地:自动生成半年/全年数据走势图表,无需手动录入数据、无需调整线条样式,源数据更新后图表自动同步更新。
# -*- coding:utf-8 -*-import matplotlib.pyplot as plt# 全局中文适配配置plt.rcParams["font.family"] = ["SimHei"]plt.rcParams["axes.unicode_minus"] = False# 模拟时间序列数据:上半年月度销量months = ["1月", "2月", "3月", "4月", "5月", "6月"]sales = [120, 145, 132, 168, 190, 215]# 创建高清画布plt.figure(figsize=(8, 4.5), dpi=300)# 绘制折线图:线条加粗+节点标记plt.plot(months, sales, color="#36648B", marker="o", linewidth=2, markersize=5)# 标注每个节点数值for x, y in zip(months, sales): plt.text(x, y + 4, str(y), ha="center", fontsize=8)# 样式优化plt.title("上半年月度销量走势", fontsize=12)plt.ylabel("销量")plt.grid(alpha=0.3)plt.tight_layout()# 保存图片plt.savefig("月度销量折线图.png")plt.close()print("✅ 趋势折线图生成完成")
饼图核心用于展示各类别数据占比结构,适用于部门人员占比、产品销售占比、费用支出占比、渠道流量占比等汇报场景,是数据分析核心图表之一。
# -*- coding:utf-8 -*-import matplotlib.pyplot as plt# 全局中文配置plt.rcParams["font.family"] = ["SimHei"]plt.rcParams["axes.unicode_minus"] = False# 模拟产品销售占比数据product = ["产品A", "产品B", "产品C", "产品D"]sale_data = [35, 28, 22, 15]# 莫兰迪商务渐变配色,高级不刺眼colors = ["#406895", "#5986B3", "#73A0CC", "#93B8DD"]# 创建画布绘图plt.figure(figsize=(6, 6), dpi=300)plt.pie(sale_data, labels=product, colors=colors, autopct="%1.1f%%", startangle=90)# 标题与自适应布局plt.title("各产品销售占比")plt.tight_layout()# 保存高清饼图plt.savefig("产品占比饼图.png")plt.close()print("✅ 占比饼图生成完成")
真正的职场自动化核心:读取真实Excel业务数据→自动统计分析→一键生成高清图表。
无需手动改图、无需手动录入数据,仅需替换Excel源文件,图表即可自动刷新,完美适配每日报表、每周复盘、月度总结等固定场景。
# -*- coding:utf-8 -*-import pandas as pdimport matplotlib.pyplot as plt# 全局适配配置plt.rcParams["font.family"] = ["SimHei"]plt.rcParams["axes.unicode_minus"] = False# 1.读取本地Excel真实业务数据df = pd.read_excel("业务数据.xlsx")# 2.Pandas自动分组统计:按部门汇总销售额group_df = df.groupby("部门")["销售额"].sum().reset_index()# 3.根据统计结果自动绘制柱状图plt.figure(figsize=(8,5),dpi=300)bars = plt.bar(group_df["部门"], group_df["销售额"], color="#2E5EAA")# 数值标注for bar in bars: val = bar.get_height() plt.text(bar.get_x()+bar.get_width()/2, val+100, f"{val:.0f}", ha="center")# 样式优化plt.title("各部门销售总额统计图表")plt.ylabel("销售额")plt.grid(axis="y",alpha=0.3)plt.tight_layout()# 保存最终报表配图plt.savefig("Pandas联动生成柱状图.png")plt.close()print("✅ Excel数据联动绘图完成,企业级报表配图生成成功")
日常汇报往往需要多张不同类型图表组合展示,单张生成效率极低。该脚本可一次性批量生成柱状图、折线图、饼图,批量产出全套报表配图,极大提升办公效率。
# -*- coding:utf-8 -*-import matplotlib.pyplot as plt# 全局通用配置plt.rcParams["font.family"] = ["SimHei"]plt.rcParams["axes.unicode_minus"] = False# 批量生成柱状图def create_bar(): depart = ["一部","二部","三部"] data = [220,310,260] plt.figure(figsize=(6,4),dpi=300) plt.bar(depart,data,color="#2E5EAA") plt.title("部门业绩对比图") plt.tight_layout() plt.savefig("批量_柱状图.png") plt.close()# 批量生成折线图def create_line(): date = ["周一","周二","周三","周四"] val = [80,95,88,110] plt.figure(figsize=(6,4),dpi=300) plt.plot(date,val,marker="o",color="#36648B") plt.title("周数据走势") plt.tight_layout() plt.savefig("批量_折线图.png") plt.close()# 批量生成饼图def create_pie(): label = ["线上渠道","线下渠道"] num = [60,40] plt.figure(figsize=(5,5),dpi=300) plt.pie(num,labels=label,autopct="%1.1f%%",colors=["#406895","#73A0CC"]) plt.title("销售渠道占比") plt.tight_layout() plt.savefig("批量_饼图.png") plt.close()# 一键批量执行所有绘图任务if __name__ == "__main__": create_bar() create_line() create_pie() print("✅ 批量多张图表全部生成完毕!")
❌图表中文乱码、方框显示:必须配置 SimHei 黑体字体参数,复制通用前置代码即可解决
❌ 图片保存留白、裁剪不全:绘图结尾必须添加 plt.tight_layout() 自动适配画布
❌ 图片模糊不清晰:画布dpi参数设置300及以上,满足汇报、印刷高清标准
❌ 多张图表重叠错乱:每张图绘制完成必须执行 plt.close() 释放画布资源
❌ 配色过于花哨不商务:职场报表优先使用莫兰迪低饱和配色,简洁高级、适配企业汇报
结合前八篇所有教程,打通全行业顶级完整办公自动化流水线,真正实现全程无人值守:
原始业务数据导出 → Pandas数据清洗 → 分组统计分析 → Matplotlib自动绘图 → 生成Excel报表 + 高清图表配图 → 文件自动分类归档 → PPT自动插入图表 → 邮件定时批量推送
从数据处理、报表生成、图表配图,到文件归档、汇报制作、对外推送,全程零人工干预,彻底告别重复机械办公!
数据是基础,图表是门面。
学会Matplotlib自动可视化,你的报表将彻底告别粗糙简陋的原生样式,数据呈现更专业、汇报更有说服力。将重复做图、改图、调样式的机械工作交给代码,把思考、分析、优化的核心工作留给自己,这才是办公自动化的真正意义!