
大家好,欢迎收看思路实验室出品的Python入门教程,我是室长。
我们已经学习了很多期pandas的使用方法了。不难发现pandas非常直观好用,而且越是数据多的情况效果越明显。但是数据多会带来另一个问题,就是阅读起来特别困难。之前我们想直接用print函数去打印一个DataFrame,行列都显示不全。而且用表格展示数据本身就不是特别直观。在这个大数据时代,还是得靠图像来展示数据。而matplotlib正是为数据作图而生的模块,它与pandas的配合可以让你拥有飞一般的感觉!
plot方法
然后,我们导入matplotlib里的pyplot模块,通常我们将它重命名为plt:

如果你的表格中的数据标签全是英文的,那么准备工作就算做好了,如果有中文则需要在导入模块后添加这样两行代码:

其中rcParams是一个字典,里边存储了关于图表各种格式的参数。我们以后想要调整图表的各种风格样式也会去调整rcParams。这里的代码先记下就好。
接下来我们就应该准备数据了。这次的数据我们有请到了近日来绿到你发慌的大A。虽然大A战绩不佳但作为非常充实的数据还是足够我们进行调戏的。

和上次一样,依然是神秘方法获取的数据,不过这次数据的结构是这样的:

这一期

由于这组数据里绝大部分内容的格式都应该是浮点数,我们直接在生成DataFrame时将dtype参数赋值为'float':

随后我们进行简单的整理,将日期数据转换为日期格式,并将日期列设为索引值。另外数据里的涨跌幅、振幅和换手率应该是百分数,我们应该将其除以100:

这里还是有个警告信息,我们这样的操作在未来的版本可能行不通。但当前我们这么操作是没问题的。所以还是要提醒大家很多模块不要随便升级,不然升级了以后很多操作不支持,找bug都不好找。
数据准备好了,让我们来以最快的速度做一个图:

两行代码,就问你快不快?
如何理解这个代码呢?基本就是把数据传递给plt,再把plt展示出来。
matplotlib的使用像是在一张画布上画图,首先需要创建一张画布,然后在画布上根据数据去画图。有的人可能觉得这是句废话,但是这个概念还是挺重要的。大家应该都会使用excel作图,选择好数据,然后选一下作图的类型,图就出来了。这时画布里只容纳了这个图。如果我想做一个画布里有两个图表的图,那就做不了,只能把做出的两个图表后期拼到一起。
matplotlib则不一样,它先创建画布。在创建好之后你可以对它进行划分,让指定的图表出现在画布的指定位置上。这些内容我们在以后的课程中都会学习到。不过有一点,目前室长没有发现能够同时操作多个画布的方法,知道的小伙伴请在文章末尾留言处给大家补充一下吧!
虽然我们刚才以最快速度做了一个折线图,但有时候我们想作图的数据和形式并非是如此简单。上边的数据是以日期为索引的,如果我们希望做一个展现振幅和换手率关系的散点图呢?我们可以这样:

savefig方法

close方法
赞和在看