数据分析应用项目化教程(Python) 课件 任务8.4 高阶绘图_第1页
数据分析应用项目化教程(Python) 课件 任务8.4 高阶绘图_第2页
数据分析应用项目化教程(Python) 课件 任务8.4 高阶绘图_第3页
数据分析应用项目化教程(Python) 课件 任务8.4 高阶绘图_第4页
数据分析应用项目化教程(Python) 课件 任务8.4 高阶绘图_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目8matplotlib图形库的数据可视化

任务8.4高阶绘图绘制多个子图,包括镶嵌式和非镶嵌式、均匀状态和非均匀状态设置多个子图共享坐标轴设置图形轴框线、设置figure的大小设置其它绘制镶嵌式的多重图表fig.add_axes():可以被用于镶嵌式的多重图表绘制。fig.add_axes([x,y,width,height]):在指定的位置添加axes,需要指定axes左下角的坐标位置,宽度高度。axes1=fig.add_axes([0.1,0.1,0.8,0.8])axes2=fig.add_axes([0.2,0.5,0.4,0.3])#mainaxesaxes1.plot(x,y,'r')#insetaxesaxes2.plot(y,x,'g')绘制非镶嵌式均匀状态的多重图表fig.add_subplot()、plt.subplot()、plt.subplots();fig.add_subplot()和plt.subplot()两种方法与fig.add_axes()方法相比,不能控制Axes对象的具体位置,更无法设置嵌套结构的子图。在figure上添加单个axes使用基于1的索引。fig.add_subplot()和plt.subplot()使用方式一样。#fig.add_subplot()和#plt.subplot()使用方式一样ax1=plt.subplot(121)#子图1plt.plot([1,2,3],[1,2,3])ax2=plt.subplot(122)#子图2ax2.plot([1,2,3],[3,2,1]);绘制非镶嵌式均匀状态的多重图表plt.subplots绘制均匀状态下的子图

一次性添加多个子图,并且子图呈网格状排布。返回一个figure和m×n的axes数组。figsize参数可以指定整个画布的大小,

sharex和sharey分别表示是否共享横轴和纵轴。fig,axs=plt.subplots(2,3,figsize=(8,4),sharex=True,sharey=True)plt.subplots_adjust(wspace=2,hspace=4)#调整子图之间的间距fig.tight_layout();#自动调节子图的位置,使得子图之间不会发生重叠subplots是基于OO模式的写法,显式创建一个或多个axes对象,然后在对应的子图对象上进行绘图操作。

subplot是基于pyplot模式的写法,每次在指定位置新建一个子图,并且之后的绘图操作都会指向当前子图,本质上subplot也是Figure.add_subplot的一种封装。绘制非镶嵌式非均匀状态的多重图表plt.subplot2grid()GridSpec()、fig.add_gridspec()

该函数能够在画布的特定位置创建axes对象,即绘图区域。不仅如此,它还可以使用不同数量的行、列来创建跨度不同的绘图区域。GridSpec或add_gridspec可以指定相对宽度比例

width_ratios和相对高度比例参数height_ratios调整合并子图。也通过切片也可以实现子图的合并而达到跨图的功能。更灵活。设置多个子图共享坐标轴同一幅图中并列的2个X、Y轴twinx()和twiny()ax2=ax1.twinx()#twinx()的作用是在ax1的位置创建了另一个ax2对象覆盖于其上,并保证2个Axes对象的X轴完全一致,从而达到了1幅图中2个Y轴的效果。设置多个子图共享坐标轴不同的图保持一致的X、Y轴sharex参数和sharey参数#ax2对象与ax1对象保持一致的X轴ax2=fig.add_subplot(312,sharex=ax1)#ax3对象与ax1对象保持一致的X轴ax3=fig.add_subplot(313,sharex=ax1)设置边框ax.spines['bottom'].set_color('blue')ax.spines['top'].set_color('blue')ax.spines['left'].set_color('red')ax.spines['left'].set_linewidth(2)ax.spines['right'].set_visible(False);#等价ax.spines['right'].set_color("None")#等价ax.spines['right'].set_color("none")设置中央坐标轴通过set_color去掉不想显示的轴线、通过set_position把轴线移动到特定#隐藏上侧和右侧坐标轴线ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')#将下侧、左侧坐标轴线移到图中央#‘data’表示将边框放置在指定的数据坐标处ax.spines['bottom'].set_position(('data',0))ax.spines['left'].set_position(('data',0))#设置坐标轴刻度标签位置ax.xaxis.set_ticks_position('bottom')ax.yaxis.set_ticks_position('left')设置figure的大小figure的大小就是画布的大小,参数figsize=(宽度、高度),单位是英寸;参数dp=分辨率,单位为每英寸点数。#方式1:在显示创建figure对象的同时,通过figsize参数指定画布大小fig=plt.figure(figsize=(3,2),dpi=100)#方式2:通过set_size_inches()方法指定画布大小figure.set_size_inches(3,2)figure.dpi=100设置其它调整图表大小:保存图形时,标签有时会被剪裁,可能需要稍微调整轴的位置。#调整图表的大小,四个参数分别代表图表四个边框所在位置(归一化0到1)fig.subplots_adjust(left=0.1,right=0.9,bottom=0.3,top=0.7)向图表中添加表格:plt.tablematplotlib整合了LaTeX表达式,支持在图表中插入数学表达式。小结基于面向对象接口绘制多个子图方法镶嵌式:fig.add_axes();非镶嵌式均匀状态:fig.add_subplot()、plt.subplot()、plt.subplots();非均匀状态:plt.subplot2grid()、GridSpec()、fig.add_gridspec()。共享坐标轴方法或参数同一个图中共享2个X轴或2个Y轴:twinx()、twiny();不同的图保持一致的X轴或Y轴:sharex参数或sharey参数。设置图形轴框线方法轴框线可见:ax.spines[].set_visible(),通过属性['top','bottom','left','right']分别设置上下左右的轴线,或者ax.spines[].set_color(“none");中央坐标轴移动方法:ax.spines[].set_position()。设置figure的大小使用figsize参数;使用set_size_inches();使用fig.subp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论