上节介绍了pygal的安装和简单的场景化应用,这节继续使用pygal制图。目标是从json格式的文件中读取比特币交易收盘价数据,并使用pygal将时间序列数据画出来。
1、下载数据
下载数据有以下三种方式:
第一种最简单,是从网站下载json格式数据,放到python程序所在的文件夹中,直接使用open函数打开即可。网站地址是(https://raw.githubusercontent.com/muxuezi/btc/master/btc_close_2017.json);第二种是使用python标准库中模块urllib来下载。(需要注意图中加入语句decode(),否则会出现提示TypeError: the JSON object must be str, not 'bytes');第三种是python第三方模块requests下载。(需要注意的是,requests模块需要先在python中安装)。代码如下所示:
2、提取数据
因为btc_close_2017中数据以字典形式存在的,取出所有键的值并分别存储在date、month、week、weekday、close中。
3、画图
采用取对数的方式画出时间序列上价格走势图。取对数的原因是可以缩小数据的绝对数值,方便发现规律;取完对数的数据更加接近于正态分布,方便进一步使用各种数据模型分析。
可以看出2017年比特币价格走势向上的趋势性非常明显,并且速度非常快。
4、总结
通过画图(尤其是时间序列图形)可以将很多数据规律直观明了地展现出来。
在编程的过程中会遇到各种问题,Eric Matthes给的建议是 研究traceback——离开计算机,休息一会儿——推倒重来——网上寻求帮助。我在网站Stack Overflow上确实获取到很多帮助。(https://stackoverflow.com/)“相信我不是第一次遇到这个问题”,抱着这种心态去网上耐心寻找,很多问题就很容易解决了。
以上。
网友评论