第 10章 MATLAB图形句柄
10.1 图形对象及其句柄
10.2 图形对象属性
10.3 图形对象的创建
10.1 图形对象及其句柄
1.图形对象
MATLAB的图形对象包括计算机屏幕、图形窗口、坐标轴、
用户菜单、用户控件、曲线、曲面、文字、图像、光源、
区域块和方框等。系统将每一个对象按树型结构组织起来。
2.图形对象句柄
MATLAB在创建每一个图形对象时,都为该对象分配唯一
的一个值,称其为图形对象句柄 (Handle)。句柄是图形对
象的唯一标识符,不同对象的句柄不可能重复和混淆。
计算机屏幕作为根对象由系统自动建立,其句柄值为 0,而
图形窗口对象的句柄值为一正整数,并显示在该窗口的标
题栏,其他图形对象的句柄为浮点数。 MATLAB提供了
若干个函数用于获取已有图形对象的句柄。
例 10-1 绘制曲线并查看有关对象的句柄。
10.2 图形对象属性
1.属性名与属性值
MATLAB给每种对象的每一个属性规定了一个名字,称为
属性名,而属性名的取值称为属性值。
2.属性的操作
set函数的调用格式为:
set(句柄,属性名 1,属性值 1,属性名 2,属性值 2,…)
其中句柄用于指明要操作的图形对象。如果在调用 set函数时
省略全部属性名和属性值,则将显示出句柄所有的允许属
性。
get函数的调用格式为:
V=get(句柄,属性名 )
其中 V是返回的属性值。如果在调用 get函数时省略属性名,
则将返回句柄所有的属性值。
3.对象的公共属性
对象常用的公共属性,Children属性,Parent属性,Tag属
性,Type属性,UserData属性,Visible属性、
ButtonDownFcn属性,CreateFcn属性,DeleteFcn属性。
例 10-2 在同一坐标下绘制红、绿两根不同曲线,希望获得
绿色曲线的句柄,并对其进行设置。
10.3 图形对象的创建
10.3.1 图形窗口对象
建立图形窗口对象使用 figure函数,其调用格式为:
句柄变量 =figure(属性名 1,属性值 1,属性名 2,属性值
2,…)
MATLAB通过对属性的操作来改变图形窗口的形式。也可
以使用 figure函数按 MATLAB缺省的属性值建立图形窗口:
figure 或 句柄变量 =figure
要关闭图形窗口,使用 close函数,其调用格式为:
close(窗口句柄 )
另外,close all 命令可以关闭所有的图形窗口,clf命令则是
清除当前图形窗口的内容,但不关闭窗口。
MATLAB为每个图形窗口提供了很多属性。这些属
性及其取值控制着图形窗口对象。除公共属性外,
其他常用属性如下,MenuBar属性,Name属性、
NumberTitle属性,Resize属性,Position属性、
Units属性,Color属性,Pointer属性、
KeyPressFcn(键盘键按下响应 )、
WindowButtonDownFcn(鼠标键按下响应 )、
WindowButtonMotionFcn(鼠标移动响应 )及
WindowButtonUpFcn(鼠标键释放响应 )等。
例 10-3 建立一个图形窗口。该图形窗口没有菜单条,标题
名称为“我的图形窗口”,起始于屏幕左下角、宽度和高
度分别为 450像素点和 250像素点,背景颜色为绿色,且当
用户从键盘按下任意一个键时,将在该图形窗口绘制出正
弦曲线。
10.3.2 坐标轴对象
建立坐标轴对象使用 axes函数,其调用格式为:
句柄变量 =axes(属性名 1,属性值 1,属性名 2,属性值 2,…)
调用 axes函数用指定的属性在当前图形窗口创建坐标轴,并
将其句柄赋给左边的句柄变量。也可以使用 axes 函数按
MATLAB缺省的属性值在当前图形窗口创建坐标轴:
axes 或 句柄变量 = axes
用 axes 函数建立坐标轴之后,还可以调用 axes 函数将之设定
为当前坐标轴,且坐标轴所在的图形窗口自动成为当前图
形窗口:
axes(坐标轴句柄 )
MATLAB为每个坐标轴对象提供了很多属性。除公共属性
外,其他常用属性如下,Box属性,GridLineStyle属性、
Position属性,Units属性,Title属性等。
例 10-4 利用坐标轴对象实现图形窗口的任意分割。
利用 axes函数可以在不影响图形窗口上其他坐标轴的前提下
建立一个新的坐标轴,从而实现图形窗口的任意分割。
10.3.3 曲线对象
建立曲线对象使用 line函数,其调用格式为:
句柄变量 =line(x,y,z,属性名 1,属性值 1,属性名 2,属性值
2,…)
其中对 x,y,z的解释与高层曲线函数 plot和 plot3等一样,其余
的解释与前面介绍过的 figure和 axes函数类似。
每个曲线对象也具有很多属性。除公共属性外,其他常用属
性如下,Color属性,LineStyle属性,LineWidth属性、
Marker属性,MarkerSize属性等。
例 10-5 利用曲线对象绘制曲线。
10.3.4 文字对象
使用 text函数可以根据指定位置和属性值添加文字说明,并
保存句柄。该函数的调用格式为:
句柄变量 =text(x,y,z,'说明文字 ',属性名 1,属性值 1,属性名 2,
属性值 2,…)
其中说明文字中除使用标准的 ASCII字符外,还可使用
LaTeX格式的控制字符。
除公共属性外,文字对象的其他常用属性如下,Color属性、
String属性,Interpreter属性,FontSize属性,Rotation属
性。
例 10-6 利用曲线对象绘制曲线并利用文字对象完成标注。
10.3.5 曲面对象
建立曲面对象使用 surface函数,其调用格式为:
句柄变量 =surface(x,y,z,属性名 1,属性值 1,属性名 2,属性
值 2,…)
其中对 x,y,z的解释与高层曲面函数 mesh和 surf等一样,其余
的解释与前面介绍过的 figure和 axes等函数类似。
每个曲面对象也具有很多属性。除公共属性外,其他常用属
性如下,EdgeColor属性,FaceColor属性,LineStyle属性、
LineWidth属性,Marker属性,MarkerSize属性等。
例 10-7 利用曲面对象绘制三维曲面 z=sin(x)。