一直没有在意自己花了多少钱,我卡绑定了电话吧,取钱,支付宝什么的消费,过后都会短信通知,有时间准备统计一下,自己的情况。
然后散点图,柱状图,折线图表示出来。
x轴为时间,y轴为钱数。
占位,等我有时间,把几百条短信整理出来,在作图。
import matplotlib.pyplot as plt
import numpy as np
#x=np.arange(1,13,1)
x=np.linspace(1,13,12,endpoint=True)
print(x)
t2=np.random.randint(700,1000,12)
print(t2)
plt.figure(figsize=(8,6))
plt.plot(x,t2,label="money-time",color="red",line,linewidth=1.0)
#得到当前的绘图对象
ax=plt.gca()
ax.set_xlabel("time")
ax.set_ylabel("money")
ax.set_title("the time of spend money")
ax.spines["top"].set_color("none")
ax.spines["right"].set_color("none")
plt.grid(True)
plt.legend()
plt.savefig("suiji.jpg",dpi=230)
plt.show()
花费柱状图。
t3=np.random.randint(700,1000,12)
x=np.arange(1,13,1)
x_name=["Jan","feb","march","Apr","may","june","july","Aug","Sept","oct","Nov","Dece"]
plt.bar(x,t3,color="rgb",tick_label=x_name)
ax=plt.gca()
#ax.hist(x_name,t3)
ax.set_xlabel("time")
ax.set_ylabel("money")
ax.set_title("the time of spend money")
ax.spines["top"].set_color("none")
ax.spines["right"].set_color("none")
#plt.grid(True)
#plt.legend()
plt.savefig("zhuzt.jpg",dpi=230)
plt.show()
上面是随机生成的,这次把手机短信查看 了几十条,不过短信太多了,看的马马虎虎,数据随便做了几十条,我感觉不对。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
f=pd.read_excel("my spend.xlsx")
f
结果如下
时间 金钱
0 2016-08-27 10
1 2016-09-04 30
2 2016-09-05 20
3 2016-09-30 185
4 2016-10-12 286
5 2016-11-11 4699
6 2016-11-19 27
7 2016-12-05 12
8 2016-12-12 149
9 2017-02-17 429
10 2017-03-29 900
11 2017-04-29 300
12 2017-05-25 50
13 2017-05-31 30
14 2017-06-28 217
15 2017-08-23 211
16 2017-08-25 5200
17 2017-09-06 210
18 2017-09-16 118
19 2017-09-18 300
20 2017-09-24 50
21 2017-09-27 30
22 2017-09-28 300
23 2017-10-02 300
24 2017-10-09 40
25 2017-10-17 500
26 2017-10-29 310
27 2017-10-31 505
28 2017-11-02 120
29 2017-11-03 300
30 2017-11-05 406
31 2017-11-11 80
32 2017-11-16 46
看一看,其相关数据
sum_money=f.sum()
print("all money:",sum_money)
print(len(f))
print(type(f))
print(f.values)
print(index)
all money: 金钱 16370
dtype: int64
33
<class 'pandas.core.frame.DataFrame'>
[[Timestamp('2016-08-27 00:00:00') 10]
金钱的消费
t=f["金钱"]
print(t[3])
print(type(t))
ax=plt.gca()
ax.set_xlabel("time")
ax.set_ylabel("money")
ax.set_title("the time of spend money")
ax.spines["top"].set_color("none")
ax.spines["right"].set_color("none")
plt.grid(True)
#plt.legend()
t.plot()
plt.grid(True)
plt.savefig("money.jpg",dpi=230)
plt.show()
f=pd.read_excel("my spend.xlsx")
plt.plot(f.时间,f.金钱,color="r")
ax=plt.gca()
ax.set_xlabel("time")
ax.set_ylabel("money")
ax.set_title("the time of spend money")
ax.spines["top"].set_color("none")
ax.spines["right"].set_color("none")
plt.grid(True)
plt.savefig("money-time.jpg",dpi=230)
plt.show()
采用excel读取数据绘制的图像为
总的来说失败了,我的数据没有什么用,统计自己的消费也是好玩一下。绘图好像就是这样,没有多少技巧,使用轮子。
参考文章
Python绘制时间序列数据的时序图、自相关图和偏自相关图
如何用Matplotlib在Python中绘制时间?
Python——使用matplotlib绘制柱状图