Python大数据基础与实战(第10章-数据可视化)课件.pptx
《Python大数据基础与实战(第10章-数据可视化)课件.pptx》由会员分享,可在线阅读,更多相关《Python大数据基础与实战(第10章-数据可视化)课件.pptx(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Python大数据基础与实战Python大数据基础与实战配套课件Python大数据基础与实战Python大数据基础与实战 第十章 数据可视化技术Python大数据基础与实战目录 10.1 pyplot基本绘图流程10.2 基于函数的可视化操作10.3 基于对象的可视化技术10.4 配置文件10.5 中文显示10.6 分类图10.7 seaborn可视化Python大数据基础与实战10.1pyplot绘图基本流程Python大数据基础与实战10.1 pyplot绘图基本流程 matplotlib是一套基于NumPy的绘图工具包,是Python中最著名的绘图包之一。matplotlib十分适合交互
2、式绘制图表,可以很方便地设计和输出二维和三维的图表。matplotlib工具包提供了pyplot模块完成对图形的绘制,大部分的pyplot图形绘制都遵循一个流程,使用这个流程可以完成大部分图形的绘制。Python大数据基础与实战10.1 pyplot绘图基本流程Python大数据基础与实战 Matplotlib提出了Object Container概念,它有Figure、Axes、Axis和Tick四种类型的对象容器。Figure负责图像大小、位置等操作。Axes负责坐标系的位置、绘图等操作。Axis负责坐标轴的操作。Tick负责刻度的相关操作。Figure包含Axes、Axes包含Axis,
3、Axis包含Tick。Python大数据基础与实战10.2基于函数的可视化操作Python大数据基础与实战10.2 基于函数的可视化操作 为了方便快速绘图,matplotlib通过pyplot模块提供了一套和matlab类似的绘图函数,只需要调用pyplot模块所提供的函数,就可以实现快速绘图及设置图表的各种细节。#使用pyplot之前首先要导入所在的模块 from matplotlib import pyplot as plt import matplotlib.pyplot as plt#将要显示的图片嵌入到Jupyter Notebook中%matplotlib inline Pytho
4、n大数据基础与实战10.2 基于函数的可视化操作1.常用绘图函数1)创建图表和创建子图 绘图前可以先创建一个空白的图表,并且可以选择是否将整个图表划分为多个子图,以方便在同一幅图上绘制多个图形。当只需要绘制一幅简单的图形时,这部分内容可以省略。figure()该函数创建一个图表对象,并且成为当前的Figure对象。也可以不创建 Figure对象而直接调用plot()进行绘图,这时matplotlib会自动创建一个 Figure对象。Python大数据基础与实战subplot()可以将一个图表划分成多个子图进行绘制,该函数用来设置子图,第1个参数 是行数,第2个参数是列数,第3个参数是子图的编号
5、 subplots()该函数返回Figure对象和子图对应的Axes对象数组,Axes是可以进行绘图操作 的对象10.2 基于函数的可视化操作Python大数据基础与实战2)添加图表内容添加标题、添加坐标轴名称、绘制图形、添加图例等步骤是并列的,没有先后顺序。可以先绘制图形,也可以先添加各种标签。但是添加图例一定要在绘制图形之后。plot()创建figure对象之后,接下来调用plot()在当前的figure对象中绘图。plot()的前两个参数是表示 X、Y 轴数据的对象,后面参数是一个格式化字符串,由颜色字符、风格字符和标记字符组成10.2 基于函数的可视化操作Python大数据基础与实战t
6、itle()、text()在当前图表中添加标题、文本注释信息legend()设置图例xlabel()、ylabel()添加X轴和Y轴名称xlim()、ylim()设置当前图表的X轴和Y轴取值范围xticks()、yticks()指定X轴和Y轴刻度的数目与取值10.2 基于函数的可视化操作Python大数据基础与实战3)保存与显示图形savefig()保存绘制的图形到文件中,可以指定图形的分辨率、边缘的颜色等参数show()显示图形10.2 基于函数的可视化操作Python大数据基础与实战10.2 基于函数的可视化操作%matplotlib inline from matplotlib impo
7、rt pyplot as plt#导入pyplot库import numpy as np#导入科学计算库numpy#设置中文字体font=family:KaiTi,#字库:楷体 weight:bold,#加粗 size:16#字号plt.rc(font,*font)#设置配置参数plt.rc(axes,unicode_minus=False)#处理负号显示问题Python大数据基础与实战#创建绘图数据x=np.arange(0.0,2.0,0.01)#x轴数据0.0,2.0),间隔0.01y=1+np.sin(2*np.pi*x)#y轴数据1+sin(2x)fig=plt.figure(fig
8、size=(20,8)#设置图片宽度20英寸,高度8英寸plt.plot(x,y,r-)#绘图参数设置plt.xlabel(时间/s)#设置x轴标签plt.ylabel(电压/mv)#设置y周标签plt.title(第一个图形示例)#设置图片的标题t=r$1+sin(2pix)$#使用LaText语法描绘数学公式plt.legend(t,loc=upper left,frameon=True)#设置图例,位置左上,带边框10.2 基于函数的可视化操作Python大数据基础与实战10.2 基于函数的可视化操作#savefig()函数保存图表到文件,它的参数可以指定要保存的文件名、分辨率、去除四周
9、空白plt.savefig(rd:test2.png,dpi=1000,bbox_inches=tight,pad_inches=0)plt.show()#显示图形Python大数据基础与实战10.2 基于函数的可视化操作2.绘制多个子图一个Figure对象可以包含多个子图(Axes),在matplotlib中用Axes对象表示一个绘图区域(子图)。可以用subplot()函数快速绘制包含多个子图的图表。subplot(nrows,ncols,index,*kwargs)整个绘图区域被等分为nrows行和ncols列,然后按照从左到右、从上到下的顺序对每个区域进行编号,左上区域的编号为1。in
10、dex参数指定创建Axes对象所在的区域。如果3个参数的值都小于10,那么就可以把它们缩写成一个整数。如223表示第2行第1列的子图。Python大数据基础与实战plt.figure(1)#创建图表1 plt.figure(2)#创建图表2 ax1=plt.subplot(211)#在图表2中创建子图1 ax2=plt.subplot(212)#在图表2中创建子图2 x=np.linspace(0,3,100)#生成X轴数据plt.figure(1)for i in range(5):plt.plot(x,np.exp(i*x/3),label=r$e%dx$%i)#在图表1中绘图 plt.l
11、egend()#显示图例 10.2 基于函数的可视化操作Python大数据基础与实战plt.sca(ax1)#选择图表2的子图1 plt.plot(x,i+x,label=r%d+x%i)#在图表2的子图1中绘图plt.legend()plt.sca(ax2)#选择图表2的子图2plt.plot(x,np.cos(i*x),label=rcos%dx%i)#在图表2的子图2中绘图 plt.legend()plt.figure(1)plt.savefig(d:/test1.png)#图表1存盘plt.figure(2)plt.show()10.2 基于函数的可视化操作Python大数据基础与实战
12、10.2 基于函数的可视化操作Python大数据基础与实战10.3基于对象的可视化操作Python大数据基础与实战10.3 基于对象的可视化操作 为了将面向对象的绘图库封装成使用函数的调用接口,pyplot模块内部保存了当前图表以及当前子图等信息。当前的图表和子图可以通过gcf()和gca()获得,其中gcf()获得表示图表的Figure对象,gca()获得表示子图的Axes对象。使用matplotlib绘制的图表每个组成部分都和一个对象对应,可以通过调用这些对象的属性设置方法set_*()或者pyplot模块的属性设置方法setp()来设置它们的属性值,也可以通过属性获取方法get_*()或
13、者pyplot模块的属性获取方法getp()来获取对象的属性,或者直接获取对象的属性。Python大数据基础与实战plt.rcParamsfont.family=KaiTi#使用楷体字库plt.rcParamsfont.size=16#设置字体大小x=np.arange(0,5,0.1)#生成X轴数据lines=plt.plot(x,x*2,x,x*3)#plot()返回一个元素类型为Line2D的列表lines0.set_label(r$x2$)#设置第1个图表的图示x2lines0._color=r#设置第1个图表对象的颜色为红色lines0.set_linestyle(-)#设置第1个图
14、表的线型为虚线plt.setp(lines1,color=g,label=r$x3$)#设置第2个图表的颜色和图示plt.setp(lines,linewidth=3.0)#两个图表线宽统一设置为3print(lines1._label)#直接获取第2个图表对象的label属性10.3 基于对象的可视化操作Python大数据基础与实战%matplotlib inlineimport numpy as npfrom matplotlib import pyplot as plt#X轴和Y轴数据x=np.linspace(-1.5*np.pi,2*np.pi,256,endpoint=True)y
15、=np.cos(x)#创建figure对象fig=plt.figure(figsize=(10,4),dpi=1000)#figure对象获取axes对象ax1=fig.add_subplot(211)#axes对象绘图ax1.plot(x,y,color=b,linewidth=2.5,linestyle=-,label=cosine)10.3 基于对象的可视化操作Python大数据基础与实战#axes对象调整坐标轴ax1.spinesright.set_color(none)ax1.spinestop.set_color(none)ax1.spinesbottom.set_position
16、(data,0)ax1.spinesleft.set_position(data,0)#axes对象获取axis对象x_axis=ax1.get_xaxis()y_axis=ax1.get_yaxis()#axis对象设置数据轴宽度、修改刻度、刻度标签x_axis.set_data_interval(x.min()*1.1,x.max()*1.1)x_axis.set_ticks(-1.5*np.pi,-np.pi,-np.pi/2.0,0,np.pi/2.0,np.pi,1.5*np.pi,2*np.pi)x_axis.set_ticklabels(r$-3/2pi$,r$-pi$,r$-p
17、i/2$,r$0$,r$+pi/2$,r$+pi$,r$+3/2pi$,r$+2pi$)y_axis.set_data_interval(y.min()*1.1,y.max()*1.1)y_axis.set_ticks(-1,+1)y_axis.set_ticklabels(r$-1$,r$+1$)10.3 基于对象的可视化操作Python大数据基础与实战#axis对象设置刻度位置x_axis.set_ticks_position(bottom)y_axis.set_ticks_position(left)#figure对象添加axes对象ax2=fig.add_subplot(212)t=2
18、*np.pi/3ax2.plot(t,t,0,0,np.sin(t),0,color=r,linewidth=1.5,linestyle=-,label=axis 2)ax1.legend(loc=upper left,frameon=False)ax2.legend(loc=upper left,frameon=False)fig.show()10.3 基于对象的可视化操作Python大数据基础与实战10.4配置文件Python大数据基础与实战matplotlibrc配置文件是一个文本文件,它实际上是一个字典。配置文件的读入可以使用rc_params()函数,它返回一个配置字典。matplo
19、tlib模块在载入时会自动调用rc_params(),并把得到的配置保存到rcParams字典变量中。matplotlib使用rcParams字典中的配置进行绘图,用户可以直接修改此字典中的配置。10.4 配置文件Python大数据基础与实战10.5中文显示Python大数据基础与实战matplotlib默认配置文件中使用的字体无法正确显示中文字符,为了让图表能正确显示中文字符,有3种解决方案:代码中直接指定字体修改配置字典变量rcParams中键对应的值修改配置文件如果要使用windows中Fonts目录下众多的复合字体文件(*.ttc),可以直接创建字体文件的FontsProperties
20、对象,并使用此对象指定图表中各种文字的字体。from matplotlib.font_manager import FontProperties font=FontProperties(fname=rc:windowsfontssimsun.ttc,size=16)10.5 中文显示Python大数据基础与实战10.6分类图Python大数据基础与实战绘制对数坐标图的函数主要有3个,分别是:semilogx()、semilogy()和loglog(),它们分别绘制X轴、Y轴以及XY轴为对数坐标的图表。10.6.1 对数坐标图Python大数据基础与实战创建极坐标图表可以通过subplot()函
21、数来完成,设置该函数的关键值参数poplar=True即可。使用rgrids()函数设置同心圆栅格的半径大小和文字标注角度,使用thetagrids()设置放射线栅格的角度。plt.subplot(121,polar=True)#创建极坐标子图1plt.plot(theta,theta/6,linewidth=2.0)plt.plot(3*theta,theta/3,-,linewidth=2.0)plt.rgrids(np.arange(0.5,2,0.5),angle=45)plt.thetagrids(0,60)10.6.2 极坐标图Python大数据基础与实战直方图是为了直观显示数据的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 数据 基础 实战 10 可视化 课件
限制150内