初学项目之数据可视化

CSV数据与JSON数据使用

1、CSV数据的使用

这个例子的目的是了解.csv格式文件内部的构成,以及使用matplotlib库将其可视化处理。最终的结果是将.csv文件中的温度数据进行可视化。

需求:对温度数据进行可视化处理。

分解:读取文件、读取并存储数据、制图表

2、JSON数据的使用

.json文件内部是一个列表,列表内元素是字典,接着使用pygal库将其进行可视化处理。最终制成的图表包含了所使用的.json文件中的数据。

需求:将.json文件中的数据进行可视化处理,详细点说要做成折线图

分解:读取文件、提取并存储数据、制图表

(1)读取文件

文件的读取使用open函数,open函数的使用比较简单。

(2)提取并存储数据

.json文件中的数据是一个列表,列表中的元素是字典,每一个字典代表的是每一天的数据(日期,周几,每几周,收盘价格等)。通过循环的方法,将同一性质的数据放到同一个列表中。在以制以天为单位的收盘价折线图时,可以直接对数据进行使用。而要以不同方式(月日均值、周日均值、星期均值)来呈现折线图时,需要对数据进行更复杂的处理。在这里主要使用到了itertools库中的groupby函数与zip函数。

列表的.index(value)方法返回的是列表与value相同的元素的索引位置。

所谓月日均值,就是以月为单位,看看每月的收盘价均值为多少,所以要把月数相同的收盘价格放在一起。zip函数将月数与收盘价格凑对,组成一个元组列表。groupby函数将这个元组列表按指定的键进行分组,指定的键相同的为一组,然后就可以按指定的键来进行迭代,在这个例子中,返回的x和y分别代表键与键-值对(这一部分有些模棱两可,这只是目前的理解)。

周日均值与星期日均值的处理思想类似。

(3)制图表

要做成的图表是折线图,在pygal里面有很多对象,用于表示许多图。Line是折线图,接着使用Line中的方法对折线图进行设置。在这部分操作中主要使用了pygal.Line的方法对图表进行操作。

API的使用

API是应用编程接口的英文简写,通过API可以得到特定的信息。本次学习中主要使用Web API,使用的是GitHub的API。

访问GitHub的API,返回的信息里包含了许多信息。,返回的信息是一个字典,字典里包含的数据有:数量、是否成功、所有满足条件的项目。其中,满足条件的项目是一个列表,列表元素是字典。

为了能访问API,需要使用到requests标准库。访问API后,返回的信息可以存储在一个变量中(因为返回的信息是一个字典)。接着就可以使用访问字典的方法来查看API返回的信息。

对pygal.Bar方法的参数进行设置可以实现对图表的定制,pygal.config方法可以使得pygal.Bar的参数简约化。在前面的例子中,给pygal.Bar.add传递的只是值的列表。pygal.Bar.add还可以接受字典列表,使得工具提示包含更多信息。需要注意的是,传递的字典的第一个键-值对应该是值,如果不是的话,图表就会无法显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值