讲Matlab高级图形处理功能.ppt
《讲Matlab高级图形处理功能.ppt》由会员分享,可在线阅读,更多相关《讲Matlab高级图形处理功能.ppt(97页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、参考文献:MATLAB程序设计教程 李海涛,邓樱 编著高等教育出版社,2002一、一、Matlab句柄绘图句柄绘图 Matlab语言的句柄绘图可以对图形各基本对象进行语言的句柄绘图可以对图形各基本对象进行更更为细腻的修饰为细腻的修饰,可以,可以产生更为复杂的图形产生更为复杂的图形,而且为动态图,而且为动态图形的制作奠定了基础。形的制作奠定了基础。高层绘图与底层绘图的区别高层绘图与底层绘图的区别高层绘图函数高层绘图函数是是对整个图形进行操作对整个图形进行操作的,图形每一部的,图形每一部分的属性都是按缺省方式设置的,充分体现了分的属性都是按缺省方式设置的,充分体现了Matlab语语言的言的实用性实
2、用性。底层绘图函数底层绘图函数可以定制图形,可以定制图形,对图形的每一部分进行对图形的每一部分进行控制控制,用户可以用来开发用户界面以及各专业的专用图形,用户可以用来开发用户界面以及各专业的专用图形,充分体现了充分体现了Matlab语言的语言的开发性开发性。(一)(一)句柄图形句柄图形句柄图形:句柄图形:利用底层绘图函数利用底层绘图函数,通过对通过对对象属性对象属性的设置与操的设置与操作实现绘图作实现绘图。u 句柄图形允许你定制图形的许多特性,无论是对图形做句柄图形允许你定制图形的许多特性,无论是对图形做一点小改动一点小改动,还是影响所有图形输出的,还是影响所有图形输出的整体改动整体改动。句柄
3、图形的功能:句柄图形的功能:句柄图形中所有图形操作都是针对图形对象而言的。句柄图形中所有图形操作都是针对图形对象而言的。句柄图形充分体现了面向对象的程序设计。句柄图形充分体现了面向对象的程序设计。u 句柄图形可以随意改变句柄图形可以随意改变Matlab生成图形的方式。生成图形的方式。句柄图形的特性高层绘图函数是无法实现的。句柄图形的特性高层绘图函数是无法实现的。(二)图形对象和句柄(二)图形对象和句柄可以确定图形的可以确定图形的整体或部分属性整体或部分属性的的各层界面各层界面。1.图形对象图形对象u 由图形创建函数产生的每一个对象都是图形对象。由图形创建函数产生的每一个对象都是图形对象。Mat
4、lab的图形对象包括计算机屏幕、图形窗口、坐标轴、的图形对象包括计算机屏幕、图形窗口、坐标轴、用户菜单、用户控件、曲线、曲面、文字、图像、光源、区用户菜单、用户控件、曲线、曲面、文字、图像、光源、区域块和方框等。域块和方框等。系统将每一个对象系统将每一个对象按父对象和子对象组成的按父对象和子对象组成的树树型结构型结构组织起来组织起来。u 计算机屏幕是根对象,并且是所有其他对象的父对象计算机屏幕是根对象,并且是所有其他对象的父对象。图形窗口是根对象的子对象,坐标轴和用户界面对象是图形图形窗口是根对象的子对象,坐标轴和用户界面对象是图形窗口的子对象,线条、文本、曲面、块和图像对象是坐标轴窗口的子对
5、象,线条、文本、曲面、块和图像对象是坐标轴对象的子对象。对象的子对象。u 图形对象是图形系统中最基本、最底层的单元图形对象是图形系统中最基本、最底层的单元,是一组,是一组紧密相关、形成惟一整体的子对象的集合,并且子对象可以紧密相关、形成惟一整体的子对象的集合,并且子对象可以被单独地操作。被单独地操作。父对象父对象子对象子对象 图形对象之间的关系为父代与子代的关系图形对象之间的关系为父代与子代的关系x=0:2*pi/180:2*pi;y1=sin(2*x);y2=cos(2*x);plot(x,y1,x,y2)例例1窗口对象窗口对象线线对对象象轴对象轴对象2.图形对象的类型图形对象的类型 在层次
6、的最顶层是根对象,相当于在层次的最顶层是根对象,相当于计算机屏幕计算机屏幕,根对象,根对象只有一个,根对象不能被建立,但可以设置根属性以控制图只有一个,根对象不能被建立,但可以设置根属性以控制图形的显示。形的显示。独立于根屏幕的显示图形窗口,是独立于根屏幕的显示图形窗口,是根对象的子对象根对象的子对象,而,而所有其他图形对象都是图形窗口的子孙。所有的绘图函数所有其他图形对象都是图形窗口的子孙。所有的绘图函数(如(如plot 和和 surf 等)都会自动建立一个图形窗口。等)都会自动建立一个图形窗口。轴对象在图形窗口中定义一个区域,并确定该区域中子轴对象在图形窗口中定义一个区域,并确定该区域中子
7、对象的方向,轴是对象的方向,轴是图形窗口的子对象图形窗口的子对象,又是图象、灯光、线、,又是图象、灯光、线、块、表面和文字的父对象。块、表面和文字的父对象。(1)根屏幕)根屏幕(2)图形窗口)图形窗口(3)轴轴 下拉菜单,下拉菜单,图形窗口的子对象图形窗口的子对象,当用户选择一个独立,当用户选择一个独立的菜单项时执行回调程序。的菜单项时执行回调程序。图形窗口的子对象图形窗口的子对象,用于接口控制的按钮、列表框、,用于接口控制的按钮、列表框、滑条等,可以联合使用构成控制面板和对话框。滑条等,可以联合使用构成控制面板和对话框。(4)控件)控件(5)菜单)菜单(6)对象菜单)对象菜单 图形窗口的子对
8、象图形窗口的子对象,用鼠标右键点击某一个图形对象,用鼠标右键点击某一个图形对象时弹出对象菜单,它必须与某一个图形对象联合使用。时弹出对象菜单,它必须与某一个图形对象联合使用。(7)图象)图象 由数据矩阵和色图矩阵组成的图象,由数据矩阵和色图矩阵组成的图象,有三种:有三种:索引图、索引图、强度图、真彩色图强度图、真彩色图。灯光对象定义光源。灯光对象定义光源。表面对象是矩阵数据的三维表现。表面对象是矩阵数据的三维表现。(8)灯光)灯光(9)线)线线对象是大多数二维和三维绘图的基础。线对象是大多数二维和三维绘图的基础。(10)块)块块对象是带有边界、被填充的多边形。块对象是带有边界、被填充的多边形。
9、(11)矩形)矩形矩形对象是二维填充区域,形状可以从矩形到椭圆。矩形对象是二维填充区域,形状可以从矩形到椭圆。(12)表面)表面(13)文本)文本文本对象是字符串。文本对象是字符串。面对象面对象轴对象轴对象像对象像对象块对象块对象线对象线对象文字对象文字对象例例23.句柄(句柄(handle)在在Matlab的图形系统中,的图形系统中,所有的图形操作都是针对图所有的图形操作都是针对图形对象而言的形对象而言的。系统在创建每一个图形对象时,都为该对象。系统在创建每一个图形对象时,都为该对象分配惟一的一个数值,称为图形对象句柄。因此分配惟一的一个数值,称为图形对象句柄。因此句柄就是图句柄就是图形对象
10、的惟一标识符(代码)形对象的惟一标识符(代码),标识代码含有图形对象的各,标识代码含有图形对象的各种必要的属性信息,不同对象的句柄是不同的。种必要的属性信息,不同对象的句柄是不同的。图形对象的句柄是图形对象的句柄是Matlab显示图形数据和建立图形用显示图形数据和建立图形用户接口的基础。户接口的基础。句柄的值可以是一个数,也可以是一个矢量句柄的值可以是一个数,也可以是一个矢量,例如计算机屏幕作为根对象自动建立,其句柄值为例如计算机屏幕作为根对象自动建立,其句柄值为0;图形;图形窗口的句柄总是正整数,它标识了图形窗口的序号,并显示窗口的句柄总是正整数,它标识了图形窗口的序号,并显示在该窗口的标题
11、栏;其它图形对象的句柄为浮点数。而等高在该窗口的标题栏;其它图形对象的句柄为浮点数。而等高线函数(线函数(contour)创建的句柄则是一组值,每个值代表等)创建的句柄则是一组值,每个值代表等高线中的一条,也就是说每一条线就有一个句柄值高线中的一条,也就是说每一条线就有一个句柄值 所有能创建图形对象的所有能创建图形对象的Matlab函数都可给出所创建图函数都可给出所创建图形对象的句柄。形对象的句柄。例例4 h=line(1:6,1:6)h=0.0138例例3 h=figure(1)h=1变量h是句柄值浮点数 利用句柄既可以操纵一个已经存在的图形对象的属性,利用句柄既可以操纵一个已经存在的图形对
12、象的属性,也可以在建立图形对象时指定属性的值,特别是对指定图也可以在建立图形对象时指定属性的值,特别是对指定图形对象句柄的操作不会影响同时存在的其它图形对象,这形对象句柄的操作不会影响同时存在的其它图形对象,这一点是非常重要的。一点是非常重要的。创建线对象的同时也建立了一个唯一的句柄创建1号窗口,返回句柄。返回值为窗口号数。例例 5 x=-pi:pi/20:pi;y=sin(x);z=cos(x);plot(x,y,r,x,z,g);Hl_lines=get(gca,Children);%获取正、余弦曲线句柄向量Hl_linesfor k=1:size(Hl_lines)if get(Hl_l
13、ines(k),Color)=0 1 0%0 1 0为绿颜色 Hl_green=Hl_lines(k)%返回绿色线条句柄 endend 利用句柄操作的有关函数,用户可以查找、访问图形利用句柄操作的有关函数,用户可以查找、访问图形对象,以达到定制对象属性,改变对象显示效果的目的。对象,以达到定制对象属性,改变对象显示效果的目的。H1_green=155.00464.图形对象的属性图形对象的属性图形对象是由属性来描述的图形对象是由属性来描述的 所有图形对象都具有控制对象显示的属性。这些属性既所有图形对象都具有控制对象显示的属性。这些属性既包括对象的一般信息,如对象类型、对象的父对象及子对象包括对象
14、的一般信息,如对象类型、对象的父对象及子对象等,也包括对象的一些特定信息,如坐标等,也包括对象的一些特定信息,如坐标轴轴对象的刻度等对象的刻度等 Matlab给每种对象的每一个属性规定了一个名字,称为给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值称为属性值。属性名,而属性名的取值称为属性值。用户可以获取、设置对象属性,以达到控制对象的目的。用户可以获取、设置对象属性,以达到控制对象的目的。当创建一个对象时,系统用一组默认属性值定制对象,用户当创建一个对象时,系统用一组默认属性值定制对象,用户可可通过通过get命令命令获取这些属性值,同时也可通过获取这些属性值,同时也可通过se
15、t命令命令重新重新设置对象属性设置对象属性。图形图形对象常用的公共属性:对象常用的公共属性:Children属性、属性、Parent属性、属性、Tag属性、属性、Type属性、属性、UserData属性、属性、Visible属性、属性、ButtonDownFcn属性、属性、CreateFcn属属性、性、DeleteFcn属性。属性。例例6 figure 大小位置 1 1 640 480 颜色 0 0 0 缺省 line a.x,y 数据;b.线的颜色 c.线型;d.线宽 图形图形对象的公共属性对象的公共属性5.创建图形对象的底层函数创建图形对象的底层函数figure创建创建新的图形窗口的函数新
16、的图形窗口的函数u h=figure(PropertyName1,PropertyValue1,PropertyName2,PropertyValue2,)功能:功能:建立图形窗口并设置指定属性的属性值,将句柄值建立图形窗口并设置指定属性的属性值,将句柄值赋给句柄变量赋给句柄变量h。其中。其中PropertyName,PropertyValue(即属(即属性名,属性值)构成属性二元对,该属性二元对还可以用性名,属性值)构成属性二元对,该属性二元对还可以用结构数组表示。结构数组表示。u figure 或 h=figure功能:功能:按默认的属性值建立图形窗口。按默认的属性值建立图形窗口。u cl
17、ose(h)功能:功能:关闭句柄为关闭句柄为h的图形窗口。的图形窗口。u close all 功能:功能:关闭所有的图形窗口。关闭所有的图形窗口。注意注意clf命令是清除当前图形窗口的内容,但不关闭窗口命令是清除当前图形窗口的内容,但不关闭窗口 Matlab为每个图形窗口提供了很多属性。这些属性为每个图形窗口提供了很多属性。这些属性及其取值控制着图形窗口对象。除公共属性外,其他常及其取值控制着图形窗口对象。除公共属性外,其他常用属性如下:用属性如下:MenuBar属性、属性、Name属性、属性、NumberTitle属性、属性、Resize属性、属性、Position属性、属性、Units属性
18、、属性、Color属属性、性、Pointer属性、属性、KeyPressFcn(键盘键按下响应键盘键按下响应)、WindowButtonDownFcn(鼠标键按下响应鼠标键按下响应)、WindowButtonMotionFcn(鼠标移动响应鼠标移动响应)及及WindowButtonUpFcn(鼠标键释放响应鼠标键释放响应)等。等。uu h=h=axes(axes(propertyproperty,)axes axes 创建创建坐标坐标轴对象轴对象 定义轴对象的位置与大小定义轴对象的位置与大小 left,bottom width,height功能:功能:用指定的属性在当前图形窗口创建坐标轴,并将
19、其用指定的属性在当前图形窗口创建坐标轴,并将其句柄值赋给句柄变量句柄值赋给句柄变量h。其中其中 property property=PropertyName1,PropertyValue1,PropertyName2,PropertyValue2,u axes 或或 h=axes功能:功能:按默认的属性值在当前图形窗口创建坐标轴。按默认的属性值在当前图形窗口创建坐标轴。用用axes 函数建立坐标轴之后,还可以调用函数建立坐标轴之后,还可以调用axes 函数将函数将之设定为当前坐标轴,且坐标轴所在的图形窗口自动成为当之设定为当前坐标轴,且坐标轴所在的图形窗口自动成为当前图形窗口:前图形窗口:ax
20、es(坐标轴句柄坐标轴句柄)Matlab为每个坐标轴对象提供了很多属性。除公共属为每个坐标轴对象提供了很多属性。除公共属性外,其他常用属性如下:性外,其他常用属性如下:Box属性、属性、GridLineStyle属性、属性、Position属性、属性、Units属性、属性、Title属性等。属性等。uicontroluicontrol图形界面控制图形界面控制调用格式:调用格式:h=h=uicontrol(uicontrol(propertyproperty)uimenuuimenu创建用户界面菜单创建用户界面菜单调用格式:调用格式:h=uimenu(h=uimenu(propertyprope
21、rty)property/value确定控制类型确定控制类型property/value 确定菜单形式确定菜单形式line 创建线对象创建线对象 h=line(x,y,z,Property)三维画线三维画线二维画线二维画线功能:功能:绘制曲线,并将句柄值赋给句柄变量绘制曲线,并将句柄值赋给句柄变量h,其中,其中x,y,z的的含义与高层绘图函数含义与高层绘图函数plot和和plot3等一样。等一样。每个曲线对象也具有很多属性。除公共属性外,其他每个曲线对象也具有很多属性。除公共属性外,其他常用属性如下:常用属性如下:Color属性、属性、LineStyle属性、属性、LineWidth属属性、性
22、、Marker属性、属性、MarkerSize属性等。属性等。surfacesurface 创建面对象创建面对象 h=surface(h=surface(x,y,z,c x,y,z,c,Property)功能:功能:建立句柄值为建立句柄值为h的曲面对象。其中的曲面对象。其中x,y,z为三维曲面坐为三维曲面坐标,标,c为颜色矩阵为颜色矩阵。每个曲面对象也具有很多属性。除公共属性外,其他每个曲面对象也具有很多属性。除公共属性外,其他常用属性如下:常用属性如下:EdgeColor属性、属性、FaceColor属性、属性、LineStyle属性、属性、LineWidth属性、属性、Marker属性、属
23、性、MarkerSize属性等。属性等。text 标注文字标注文字 h=text(h=text(x,y,z,string x,y,z,string,Property)标注字符串(标注字符串(说明文字说明文字)确定标注位置确定标注位置功能:功能:在指定位置和以指定的属性值添加文字说明在指定位置和以指定的属性值添加文字说明,并保存,并保存句柄值为句柄值为 h。说明文字中除使用标准的说明文字中除使用标准的 ASCII 字符外,还可字符外,还可使用使用 LaTeX 格式的控制字符格式的控制字符。除公共属性外,文字对象的其他常用属性如下:除公共属性外,文字对象的其他常用属性如下:Color属性、属性、S
24、tring属性、属性、Interpreter属性、属性、FontSize属性、属性、Rotation属性。属性。patch 创建块对象创建块对象 h=patch(h=patch(x,y,z,cx,y,z,c)image 显示图象显示图象h=image(h=image(x x)每个底层函数只能创建一个图形对象,并将它们置于每个底层函数只能创建一个图形对象,并将它们置于适当的父辈对象中。适当的父辈对象中。x,y,z定义多边形,定义多边形,c确定填充颜色。确定填充颜色。x为图像矩阵为图像矩阵(三)对象句柄的获取方法(三)对象句柄的获取方法功能:功能:获取获取h的的子对象子对象子对象子对象的句柄值,并
25、赋给的句柄值,并赋给h_ ch。句柄值的获取方法:句柄值的获取方法:1.追溯法获取句柄追溯法获取句柄h_pa=get(h,parent)功能:功能:获取获取h的的父对象父对象父对象父对象的句柄值,并赋给的句柄值,并赋给h_pa。h_ch=get(h,children)2.当前对象句柄的获取当前对象句柄的获取功能:功能:返回返回当前图形窗口当前图形窗口当前图形窗口当前图形窗口的句柄值,并赋给的句柄值,并赋给h_fig功能:功能:返回当前图形的返回当前图形的当前坐标轴当前坐标轴当前坐标轴当前坐标轴的句柄值,赋给的句柄值,赋给h_ax 功能:功能:获取获取当前对象当前对象当前对象当前对象的句柄值,并
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 高级 图形 处理 功能
限制150内