用 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 对不同指标进行归一化
如何组合多图,生成一份完整的可视化分析报告