购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 数据可视化库Matplotlib介绍

Matplotlib是使用Python开发的一个绘图库,是Python界进行数据可视化的首选库。

Matplotlib提供了绘制图形的各种工具,支持的图形包括简单的散点图、曲线图和直方图,也包括复杂的三维图形等,基本上做到了只有你想不到,没有它做不到的地步。

从最简单开始绘制一条正弦曲线,代码如下。在代码的最开始,首先引入相关模块并重命名为np和plt,其中np用来生成图形数据,plt就是绘图模块。然后使用np.linspace生成包含50个元素的数组作为x轴数据,这些元素均匀地分布在[0, 2π]区间上,再使用np.sin生成x对应的y轴数据。接着使用plt.plot(x, y)画一个折线图形,并把x和y绘制到图形上。最后调用plt.show()把绘制好的图形显示出来。注意,使用plot()方法时传入了两组数据:x和y,分别对应x轴和y轴。如果仅传入一组数据,那么该数据就是y轴数据,x轴将会使用数组索引作为数据。从绘制的图表中,可以看到它包含x、y轴刻度和曲线本身。

运行结果如图3-15所示。

图3-15

我们换一种更容易的方式来画图,代码如下。与之前的编码相比,这里多了两行代码,而且使用ax代替plot来绘制图形。其中,fig = plt.figure()显式创建了一个图表对象fig,刚创建的图表此时还是空的,什么内容都没有。接着,ax = fig.add_subplot(1,1,1)往图表中新增了一个图形对象,返回值ax为该图形的坐标系。add_subplot()的参数指明了图形数量和图形位置。(1,1,1)对应(R,C,P)三个参数,R表示行,C表示列,P表示位置。因此,(1,1,1)表示在图表中总共有1×1个图形,当前新增的图形添加到位置1。如果改为fig.add_subplot(1,2,1),则表示图表拥有1行2列,总共有两个图形。

运行结果如图3-16所示。

图3-16

使用plt.title()函数为图表添加标题,使用plt.xlable()和plt.ylabel()函数分别为x轴和y轴添加标签,代码如下。pyplot并不默认支持中文显示,需要rcParams修改字体实现,但由于更改字体会导致显示不出负号“-”,需要将配置文件中的axes.unicode_minus参数设置为False。

运行结果如图3-17所示。

图3-17

在绘制饼图时,只需给出每个事件所占的时间,会自动计算所占的百分比,代码如下:

运行结果如图3-18所示。

图3-18

使用plt.scatter()函数可以绘制散点图,代码如下,使用NumPy的random方法随机生成1024个0~1的随机数。

运行结果如图3-19所示。

图3-19

使用plt.bar()可以绘制柱形图,代码如下:

运行结果如图3-20所示。

图3-20

Matplotlib是Python中最受欢迎的数据可视化软件包之一,支持跨平台运行,它是Python常用的2D绘图库,同时它也提供了一部分3D绘图接口。Matplotlib通常与NumPy、Pandas一起使用,是数据分析中不可或缺的重要工具之一。 XleyQCo/h2tjOwRjgeIiPWzYbxeqFSCKKI4T/Ej4BHFNceT0D+dQiPAXbjjDl9Xq

点击中间区域
呼出菜单
上一章
目录
下一章
×