利用python实现周期财务统计可视化

yipeiwu_com7年前Python基础

正文之前

上午给爸爸打了个电话庆祝他50岁生日,在此之前搞了个大扫除,看了会知乎,到实验室已经十一点多了。约喜欢的妹子吃饭失败,以至于工作积极性收到了打击,所以就写个程序来统计下开学十一天的财务消费情况,更清楚的认识自己。

正文

废话不多说,先放代码:

import matplotlib.pyplot as plt
import matplotlib
from pylab import mpl
plt.rcParams['font.sans-serif']=['SimHei']


def getAll(x):
 s=0
 for i in x:
  s+=i
 return s

sump = [374.9,70,85.5,72.9,33.7,14.8,35.4,30.1,66.52,114.3,-13]
fruit = [0,0,0,10,0,0,0,0,35,0,0]
other = [338.6,50,53.8,49.5,10,0,0,0,6.42,92,-34]
food = []
for i in range(len(sump)):
 food.append(sump[i] - fruit[i] - other[i])

date = []

for i in range(11):
 date.append("8."+str(i+14))

plt.xlabel(u"时间")
plt.ylabel(u"消费")
plt.plot(date,sump)
plt.plot(date,fruit)
plt.plot(date,other)
plt.plot(date,food)

plt.legend()
plt.show()


sump_all = getAll(sump)
fruit_all = getAll(fruit)
other_all = getAll(other)
food_all = getAll(food)

plt.figure(figsize=(6,9)) #调节图形大小
labels = [u'Food '+str(int(food_all)),u'Fruit '+str(fruit_all),u'Other '+str(other_all)] #定义标签
sizes = [food_all,fruit_all,other_all] #每块值
colors = ['red','yellowgreen','lightskyblue'] #每块颜色定义
explode = (0,0,0) #将某一块分割出来,值越大分割出的间隙越大
patches,text1,text2 = plt.pie(sizes,
      explode=explode,
      labels=labels,
      colors=colors,
      autopct = '%3.2f%%', #数值保留固定小数位
      shadow = False, #无阴影设置
      startangle =90, #逆时针起始角度设置
      pctdistance = 0.6) #数值距圆心半径倍数距离
#patches饼图的返回值,texts1饼图外label的文本,texts2饼图内部的文本
# x,y轴刻度设置一致,保证饼图为圆形
plt.axis('equal')
plt.show()

print("十天合计消费:%d"%(fruit_all+other_all+food_all))

其实就画了俩图,一个是折线图,一个饼图

最后总结出来的就是这样了。。

至于每天怎么做统计的,也放个样子出来。

每天花个几分钟统计下,然后隔段时间来做个统计,更清晰的知道自己最近花了多少钱,钱都去哪儿了。很有利于我脱离月光族的状态。。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

Flask框架实现的前端RSA加密与后端Python解密功能详解

Flask框架实现的前端RSA加密与后端Python解密功能详解

本文实例讲述了Flask框架实现的前端RSA加密与后端Python解密功能。分享给大家供大家参考,具体如下: 前言 在使用 Flask 开发用户登录API的时候,我之前都是明文传输 us...

Python+OpenCV感兴趣区域ROI提取方法

方法一:使用轮廓 步骤1 """src为原图""" ROI = np.zeros(src.shape, np.uint8) #感兴趣区域ROI proimage = src.co...

Python如何通过subprocess调用adb命令详解

前言 本文主要给大家介绍了关于使用Python通过subprocess调用adb命令,subprocess包主要功能是执行外部命令(相对Python而言)。和shell类似。 换言之除...

python文件选择对话框的操作方法

python文件选择对话框的操作方法

对于python的tkinter库来说,如果需要弹出文件选择框,我们需要引入一下tkinter.filedialog包,让用户直观地先择一个或者多个文件或者保存文件等操作。 常见的文件选...

Python实现带参数的用户验证功能装饰器示例

本文实例讲述了Python实现带参数的用户验证功能装饰器。分享给大家供大家参考,具体如下: user_list = [ {'name': 'sb1', 'passwd': '12...