原文:
今天我们来学习Series画图。这句话听起来有点绕,说白了就是Pandas库中Series数据结构的数据,对它的图形化展示。我们进行数据分析,最终的分析结果有可能是一个Series结构的数据。那么为了更好理解分析的结果,我们有必要对其进行可视化展示。
为了给大家展示这个功能,首先我们要有数据。数据是我们做分析的本源,既然我手里没有数据,那我们可以造一些假的数据。如何造一些假的数据呢,我们可以使用numpy库中一个randn方法,这个方法是从标准正态分布中返回一个或多个样本数据,如果不知道什么是标准正态分布大家可以脑补一下,哈哈。直接上干货,代码如下:
首先是导入了我们常用的库,然后造了100个数据传给了Series。这样Series中就有数据了,我们对其中的数据进行可视化,调用Series中的plot方法。最后使用matplotlib库中的show方法显示就可以了,如下所示。
其实Series中的plot方法有很多参数,就是这些参数可以让我们画出美观、复杂的图形。在这个例子中我使用的都是默认参数的值。如果在工作中用到了,大家可以去官网查看相应的文档。在这里给大家演示一下常用的几个参数。如下图所示:
主要是第七行代码:grid是图的背景是网格型,label是图的图例,title是图的标题,style是图中线条的风格。别忘了显示图例使用legend方法。就是这样子,具体结果图如下:
如果现在有两个Series,我们想把这两个数据画到一个图上,肿么办?其实很简单了,看代码:
我在上个例子的基础上有造了一个Series,s1调用完plot方法,然后让s2调用plot方法,这样就将这两个Series画到一张图上了。如下图所示:
现在我又感觉画到一张图上不好看,我想把这两个Series画到两个子图上。这在我们的日常开发中会经常发生,客户是反复无常的。面对这种需求肿么破?So easy。。。
这里我们就可以使用matplotlib库中的subplots方法,这个方法将一个图划分成两个子图。我们在使用Series中的plot方法的时候注意指定ax参数,这个参数很重要。它是让你指定画到哪个子图上。我们指定好之后,结果图如下: