【山东大学项目实训】10

新添加财政报表分析的功能,可以根据报表数据绘制折线图,计算利润率。

import pandas as pd
import matplotlib.pyplot as plt

# 导入 Pandas 和 Matplotlib 库

# 文件路径:假设上传的文件名为 financial_data.xlsx
file_path = r'E:\桌面\项目实训\zhishiku1\project\financial_data.xlsx'

# 读取上传的 Excel 文件
df = pd.read_excel(file_path)

# 打印输出查看数据的前几行,确保数据加载正确
print("财务报表数据:")
print(df.head())

# 处理日期列,确保其为字符串类型
df['日期'] = df['日期'].astype(str)

# 计算净利润率(Net Profit Margin)
df['净利润率'] = df['净利润'] / df['营业收入'] * 100

# 绘制净利润和营业收入的趋势图
plt.figure(figsize=(10, 6))
plt.plot(df['日期'], df['净利润'], marker='o', label='净利润')  # 绘制净利润的趋势
plt.plot(df['日期'], df['营业收入'], marker='o', label='营业收入')  # 绘制营业收入的趋势
plt.title('净利润和营业收入趋势')  # 设置图表标题
plt.xlabel('日期')  # 设置X轴标签
plt.ylabel('金额(万元)')  # 设置Y轴标签
plt.xticks(rotation=45)  # 旋转日期标签,使其更易读
plt.legend()  # 显示图例

# 添加文字描述
plt.text(0.5, 0.9, '财务报表数据趋势', ha='center', va='center', transform=plt.gca().transAxes, fontsize=12)
plt.text(0.5, 0.85, '示例数据', ha='center', va='center', transform=plt.gca().transAxes, fontsize=10, color='gray')

plt.grid(True)  # 显示网格线
plt.tight_layout()  # 调整布局,防止标签被裁剪
plt.show()  # 显示图表

# 绘制净利润率的变化图
plt.figure(figsize=(10, 6))
plt.plot(df['日期'], df['净利润率'], marker='o', color='r', label='净利润率')  # 绘制净利润率的变化趋势
plt.title('净利润率变化')  # 设置图表标题
plt.xlabel('日期')  # 设置X轴标签
plt.ylabel('净利润率 (%)')  # 设置Y轴标签
plt.xticks(rotation=45)  # 旋转日期标签,使其更易读
plt.legend()  # 显示图例

# 添加文字描述
plt.text(0.5, 0.9, '净利润率变化趋势', ha='center', va='center', transform=plt.gca().transAxes, fontsize=12)
plt.text(0.5, 0.85, '示例数据', ha='center', va='center', transform=plt.gca().transAxes, fontsize=10, color='gray')

plt.grid(True)  # 显示网格线
plt.tight_layout()  # 调整布局,防止标签被裁剪
plt.show()  # 显示图表
 

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值