- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第5章数据可视化
第5章数据可视化大量研究结果表明,人类通过图形获取信息的速度比通过阅读文字获取信息的速度快很多,使用图表来进行数据分析,可以确保对关系的理解比报告或电子表格更快。数据可视化是指以饼状图、直方图、折线图等图形的方式展示数据,其价值在于让我们可以直观地发现数据中隐藏的规律、察觉到变量之间的内在关系、发现异常值等。Python常见的数据可视化库有Matplotlib、Seaborn和Pandas。Matplotlib是常用的二维绘图库之一,可以看作可视化的必备技能库,它包含了大量的工具,也提供了极大的灵活性,理论上使用它可以绘制用户想绘制的任何图形。由于Matplotlib是比较底层的库,有众多的API,这使得Matplotlib学习起来有一定的难度。Matplotlib功能强大,使用Matplotlib画一张完整的图表,需要实现很多的基本组件,例如图像类型、刻度、标题、图例、注解等。目前有很多的开源框架所实现的绘图功能是基于Matplotlib的,Pandas和Seaborn就是其中使用较多的两个框架。
5.1Matplotlib简介Matplotlib由约翰·亨特(JohnHunter)于2002年开发,目的在于在Python环境下进行MATLAB风格的绘图。Matplotlib能够生成出版级质量的各种图形(通常是二维的),例如直方图、功率谱、条形图、误差图、散点图等,并且用户可以利用鼠标对生成图形进行设置。Matplotlib既可以在Python脚本中编码绘图,也可以在JupyterNotebook中使用,还可以将图表导出为各种常见的矢量和光栅图形格式,例如PDF、SVG、JPG、PNG、BMP、GIF等。学习本章内容,最简单的方式就是在JupyterNotebook中使用交互视图,不过其生成的图形内嵌在JupyterNotebook生成界面内,无法使用鼠标进行设置。如果需要进行设置,可在JupyterNotebook中执行以下语句。%matplotlibnotebook
5.2Matplotlib绘图Matplotlib的pyplot模块提供了与MATLAB类似的绘图函数调用接口,方便用户快速绘制二维图表。在本书后续内容中,使用如下的方式导入matplotlib.pyplot模块。importmatplotlib.pyplotasplt下面以绘制正弦函数图像为例,程序首先通过NumPy的linspace()函数生成区间在[0,10]的数组x,然后使用NumPy的sin()函数求出y值的绘图数据y=sin(x),最后调用pyplot模块的plot方法绘制y=sin(x)的图像,结果如图5-1所示。In[1]:x=np.linspace(0,10,100)y=np.sin(x)plt.plot(x,y)图5-1正弦函数图形
5.2Matplotlib绘图同样地,还可以画余弦函数图形,并把两个函数图形显示在一张图中,结果如图5-2所示。In[2]:x=np.linspace(0,10,100)y=np.sin(x)z=np.cos(x)plt.plot(x,y)plt.plot(x,z)图5-2在一张图中显示正弦和余弦函数图形通过上面的例子,我们已经对使用Matplotlib绘图有了基本的了解,下面来深入了解其绘图机制。
5.2Matplotlib绘图Matplotlib实际上是一套面向对象的绘图库,它所绘制的图表中每个绘图元素,包括线条、文字、刻度在内都有一个对象与之对应。为了方便快速绘图,Matplotlib通过pyplot模块提供了一套和MATLAB类似的绘图API,将众多绘图对象所构成的复杂结构隐藏在这套API内部,只要调用pyplot模块所提供的函数,就可以实现快速绘图和设置图表的各种细节。pyplot模块虽然用法简单,但不适合在较大的应用程序中使用,因此本书建议使用面向对象的方法绘图,该方法可以更好地控制和自定义绘图。
5.2.1面向对象绘图流程面向对象的主要思想是用户使用pyplot创建图形对象,通过图形对象创建一个或多个轴对象,通过这些轴对象完成大多数绘图操作。面向对象绘图有助于更好地处理有多个子图的图形对象。Matplotlib在图形对象上所呈现出来的所有元素,都是一个个的对象,可以把Matplotlib的面向对象绘图流程简单地类比在画布上画图的过程,大致流程分成3步,这3步也对应画图的3层,从外到内分别是画布、子图、绘图元素(如线、文字等)。第一步:创建Figure对象——类比在画架上添加画布。Figure对象又称为容器,是最外一层的对象,就相当于一张画布,包含图表的
您可能关注的文档
最近下载
- 超星学习通 群芳谱-《红楼梦》中的女性形象鉴赏(长安大学)尔雅网课答案.pdf
- 2024年民主生活会个人对照检查材料3篇范文.docx VIP
- 《抽样检验培训教材》PPT课件.ppt VIP
- 2021高考作文写作素材:世界八大哲学家的名言+事例.docx
- 《证券投资理论与实务》教学资料:教案资料汇总.doc VIP
- 十进制加减可逆计数器的设计.pdf
- 华为手机结构件可靠性测试方法和要求.pdf
- 机械振动与冲击人体暴露于全身振动的评价第1部分一般要求GBT134411-2007.doc
- 橡胶胶管、硅胶密封圈、橡胶垫片生产项目环境影响报告表.pdf
- 小学英语四年级下册课本知识点(外研版三年级起点).pdf
文档评论(0)