当前位置: 首页 > news >正文

用 Python 绘制企业年度财务可视化报告 —— 从 Excel 到 9 种图表全覆盖

用 Python 绘制企业年度财务可视化报告 —— 从 Excel 到 9 种图表全覆盖

在企业经营分析中,光看一堆财务数字很难直观发现规律和问题。 如果能将这些数据转化为可视化图表,不仅更美观,还能帮助管理层快速做出决策。

今天,我就用 Python + Pandas + Matplotlib,从一份 Excel 财务数据出发,生成一个包含 9 种图表 的年度财务可视化报告。


1. 数据准备

已经有一份 企业财务数据.xlsx,里面的 “财务数据” 工作表包含如下列:

  • 月份

  • 收入

  • 总成本

  • 利润

  • 销售数量

  • 可变成本

  • 固定成本

  • 利润率(%)

图片

用 Pandas 读取文件并做基础检查:

import pandas as pdfile_path = '企业财务数据.xlsx'
df = pd.read_excel(file_path, sheet_name='财务数据')required_cols = ['月份', '收入', '总成本', '利润', '销售数量', '可变成本', '固定成本', '利润率(%)']
if not all(col in df.columns for col in required_cols):print("Excel 缺少必要列!")exit()

2. 图表总览

我一次性生成 3x3 布局的 9 个子图,涵盖柱形图、折线图、雷达图、气泡图等多种形式。

图片

下面按顺序介绍每张图的用途和实现方法。


① 柱形图:每月利润

直观展示全年每个月的利润变化趋势。

图片

ax1.bar(df['月份'], df['利润'], color='skyblue', alpha=0.8)

② 对比柱形图:收入 vs 总成本

用并列柱形对比每个月的收入和总成本,方便查看盈亏情况。

图片

ax2.bar(x, df['收入'], width, label='收入')
ax2.bar(x + width, df['总成本'], width, label='总成本')

③ 分组柱形图:收入、可变成本、固定成本

进一步拆分成本构成,比较三项数据。

图片

ax3.bar(x - width, df['收入'], width, label='收入')
ax3.bar(x, df['可变成本'], width, label='可变成本')
ax3.bar(x + width, df['固定成本'], width, label='固定成本')

④ 堆积柱形图:总成本构成

用堆积方式将可变成本和固定成本叠加,直观看到成本比例。

图片

ax4.bar(df['月份'], df['可变成本'])
ax4.bar(df['月份'], df['固定成本'], bottom=df['可变成本'])

⑤ 分区折线图:利润与利润率

双 Y 轴折线图,一边显示利润走势,一边显示利润率。

图片

ax5.plot(df['月份'], df['利润'], marker='o')
ax6.plot(df['月份'], df['利润率(%)'], linestyle='--')

⑥ 雷达图:四个季度关键指标对比

将收入、总成本、利润、销量这四个指标按季度进行归一化对比。

图片

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
q_normalized = scaler.fit_transform(q_data)

⑦ 聚合气泡图:销量 vs 收入

气泡大小代表利润,颜色代表利润率,多维度综合展示业务情况。

图片

scatter = ax8.scatter(df['销售数量'], df['收入'],s=df['利润']/100,c=df['利润率(%)'], cmap='coolwarm')

⑧ 玫瑰图(南丁格尔图):各月利润分布

用极坐标形式绘制每个月利润的分布情况,视觉效果独特。

图片

ax9 = fig.add_subplot(3, 3, 8, projection='polar')
ax9.bar(angles, df['利润'], width=0.5)

⑨ 文本框总结

直接在图中用文本列出年度关键财务指标总结。

图片

summary_text = f"""
📊 年度财务总结
总收入: {df['收入'].sum():,} 元
总成本: {df['总成本'].sum():,} 元
总利润: {df['利润'].sum():,} 元
平均利润率: {df['利润率(%)'].mean():.2f}%
"""
ax10.text(0.5, 0.5, summary_text, ha='center', va='center')

3. 最终效果

运行脚本后,你将得到一张包含 9 种可视化图表 的财务报告:

  • 从整体到细节

  • 从单一维度到多维对比

  • 既有数据可读性,又有展示美感

这份图表不仅能用于内部财务分析,还可以直接嵌入到年终报告 PPT 里,省时省力。


4. 知识点总结

通过这次实战,你可以学到:

  • Pandas 用于读取和处理 Excel 数据

  • Matplotlib 绘制多种类型图表

  • MinMaxScaler 对不同指标进行归一化

  • 如何组合多图,生成一份完整的可视化分析报告

http://www.xdnf.cn/news/1280125.html

相关文章:

  • 读《精益数据分析》:媒体内容平台全链路梳理
  • 低延迟RTSP|RTMP视频链路在AI驱动无人机与机器人操控中的架构实践与性能优化
  • TRS(总收益互换)系统架构设计:多市场交易的技术实现分析
  • 每日五个pyecharts可视化图表-line:从入门到精通 (3)
  • 常用设计模式系列(十九)- 状态模式
  • 闸机控制系统从设计到实现全解析:第 5 篇:RabbitMQ 消息队列与闸机通信设计
  • HBase BlockCache:LRU Cache
  • Agent用户体验设计:人机交互的最佳实践
  • redis(2)-java客户端使用(IDEA基于springboot)
  • 【图像处理基石】UE输出渲染视频,有哪些画质相关的维度和标准可以参考?
  • FlinkSql(详细讲解二)
  • IDE认知革命:JetBrains AI Assistant插件深度调教手册(终极实战指南)
  • 服务器配置实战:从 “密码锁” 到 “分工协作” 的知识点详解
  • POI导入时相关的EXCEL校验
  • Spring Boot Excel数据导入数据库实现详解
  • 缓存的三大问题分析与解决
  • Flink + Hologres构建实时数仓
  • MSE ZooKeeper:Flink高可用架构的企业级选择
  • 容器之王--Docker的安全优化详解及演练
  • 在Mac 上生成GitLab 的SSH 密钥并将其添加到GitLab
  • Django Request 与 DRF Request 的区别
  • (Arxiv-2025)Phantom:通过跨模态对齐实现主体一致性视频生成
  • 什么情况下会导致日本服务器变慢?解决办法
  • 第2节 大模型分布式推理架构设计原则
  • AIStarter修复macOS 15兼容问题:跨平台AI项目管理新体验
  • MySQL权限管理和MySQL备份
  • 大模型落地实践:从技术重构到行业变革的双重突破
  • C/C++练习面试题
  • Selenium动态元素定位
  • 【运维进阶】WEB 服务器