第13章:matplotlib数据可视化.docx

第13章:matplotlib数据可视化.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第PAGE1页共NUMPAGES15页

第13章:数据处理——matplotlib数据可视化

13.1matplotlib绘图库

matplotlib是Python中最著名的绘图库,类似MATLAB的绘图工具。它提供了一整套MATLAB相似的命令API,十分适合交互式制图,也可以将它作为绘图控件嵌入GUI应用程序中。

注:如果计算机内没有安装matplotlib库,那么启动任务管理器,执行命令pipinstallmatplotlib或者pip3installmatplotlib来安装matplotlib。

13.1.1pyplot模块简介

matplotlib库中的pyplot模块由一组命令式函数组成,因而matplotlib的使用方法和MATLAB极为相似,通过pyplot模块中的函数操作或改动Figure对象,如创建Figure对象和绘图区域,表示一条线,或为图形添加标签等。pyplot模块中的函数具有状态特征,它能够跟踪当前图形和绘图区域的状态,调用函数时,函数值对当前图形起作用。

13.1.2绘制简单图形

使用matplotlib库生成图形很简单,只需准备横轴和纵轴两组数据,然后调用matplotlib库中的pyplot模块即可。

【示例13-1】

使用matplotlib库绘制一条线,把(1,1)、(2,2)、(3,4)、(4,8)这4个点连接起来。程序如下所示:

importmatplotlib.pyplotasplt

x=[1,2,3,4]

y=[1,2,4,8]

plt.plot(x,y)

plt.show()

【代码解析】

第1行:使用import关键字导入pyplot模块,将其命名为plt,方便在程序中调用。

第2、3行:准备两组数据,×列表为横轴数据,y列表为纵轴数据。

第4行:把要绘制图形的数据传给plot函数。

第5行:调用show函数显示图表。

程序运行结果如图13-1所示,生成了一个二维对象,该对象为一条线,它表示图表中各数据点的线性延伸趋势。

图13-1示例13-1的程序运行结果

如果只是将一个数字列表或者数组传递给plot函数,matplotlib库会假定所传入的是图表的y值,于是将其与一个序列的×值对应起来,×的取值依次为0、1、2、3、…

小提示:通常图形表示的是一对一对的坐标(x,y)。如果想要正确地定义图表,则必须定义两个数组,第一个数组为x轴的值;第二个数组为y轴的值。plt函数还可以接收第三个参数,用来描述数据点在图表中的显示方式。

13.1.3Figure对象

如果在一张大图中想要绘图多个子图,这时就需要一个Figure对象,可以把Figure对象理解为一张画板,画板是画布的载体,有了画板才能绘制子图。

【示例13-2】

使用importmatplotlib.pyplotasplt

importmatplotlib.pyplotasplt

x1=[1,2,3,4,5]

y1=[1,2,4,8,16]

x2=[1,2,3,4,5]

y2=[1,3,9,27,81]

fig=plt.figure()

fig.add_subplot(121)

plt.plot(x1,y1)

fig.add_subplot(122)

plt.plot(x2,y2)

plt.show()

matplotlib库在一幅图中绘制两个子图,程序代码如下所示:

【代码解析】

第1行:使用import关键字导入pyplot模块。

第2~5行:准备4个列表的数据,x1列表和x2列表为横轴数据,y1列表和y2列表为纵轴数据。

第6行:定义一个Figure对象fig,即画板。

第7、8行:在画板fig中添加一个子图,并传入列表x1和y1作为子图的数据。

第9、10行:在画板fig中添加另外一个子图,并传入列表x2和y2作为子图的数据。

第10行:显示图形.

【程序运行结果】

程序运行结果如图13-2所示,在画板中同时出现左、右两个子图。

图13-2示例13-2的程序运行结果

为什么是左、右两个子图,而不是上、下两个子图呢?关于这个问题,在此需要特别说明一下add_subplot函数的参数。add_subplot函数的参数是一个三位数,如121和122,121表示1行2列中的第1个子图,122表示1行2列中的第2个子图。按照横行竖列,可以确定有1行2列共两个子图。如果有多行多列,则需遵循从左到右、从上到下的顺序确定是第几个子图。

在一张画板中怎样绘制4个子图呢?4个子图的排列方式可以选择2×2,即2

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档