1.图形窗口对象
MATLAB的一切图形图像的输出都是在图形窗口中完成的。
一、创建
建立图形窗口对象使用figure函数,其调用格式为:句柄变量=figure(属性名1,属性值1,属性名2,属性值2,...)
MATLAB通过对属性一的操作来改变图形窗口的形式。也可以使用figure函数按MATLAB默认的属性值建立图形窗口,格式为:figure 或 句柄变量 =figure
MATLAB通过figure函数建立窗口之后,还可以调用figure函数来显示该窗口,并将其设定为当前窗口,调用格式为:figure(窗口句柄)
如果这里的句柄不是已经存在的窗口句柄,但是一个整数 ,则也可以使用这一函数,它的作用是对这一句柄生成一个新的图形窗口,并将其定义为当前窗口。如果引用的窗口句柄不是一个图形窗口
的句柄,也不是一个整数,则该函数返回一条错误信息。
关闭图形窗口,使用close函数,其调用格式为:close(窗口句柄)
另外,close all命令可以关闭所有的图形窗口,clf命令则是清除当前图形窗口的内容,但不关闭窗口。
二、MATLAB为每个图形窗口提供了很多属性。这些属性及其取值控制着图形窗口对象。除公共属性外,其他常用属性如下。特有属性
(1)MenuBar属性。该属性的取值可以是figure(默认值)或none。用来控制图形窗口是否应该具有菜单条。如果它的属性值为none,则表示 该图形窗口没有菜单条。
用户可以采用uimenu函数来加入自己的菜单条,如果 属性值为figure,则该窗口将保持图形默认的菜单条,这时也可以采用uimenu函数在原默认的图形窗口菜单后面添加新的菜单项。
(2)Name属性。该属性的取值可以是任何字符串,它的默认值 为空。这个字符串作为图形 窗口的标题。一般情况下,其标题形式为:Figure No.1:字符串。
(3)NumberTitle属性。该属性的取值是on(默认值)或off。决定着在图形窗口的标题中是否以“Figure No.n:”为标题前缀,这里n是图形窗口的序号,即句柄值。
(4)Resiza属性。该 属性的取值是on或off.决定着在图形窗口建立后可否用鼠标改变该窗口的大小。
(5)Position属性。该属性的取值是是一个四元素向量,形式为[x,y,w,h]。这个向量定义了图形窗口对象在屏幕上的位置和大小,其中x,y分别为窗口左下角的横坐标值,w、h分别为窗口的宽度和高度。
它们的单位 由Units属性决定。
(6)Units属性。该属性的取值可以是这些字符串中的任意一种:pixel(像素,为默认值)、normalized(相对单位)、inches(英寸)、centimeters(厘米)和points(磅)。
(7)Color属性。该属性的取值是一个颜色值,既可以用字符表示,也可以用RGB三元组表示。默认值为'k',即黑色,用于设定图形窗口背景颜色。
(8)Pointer属性。该属性的取值是一个arrow(默认值)、crosshair、watch、topl、topr、circle、cross、fleur,custom等,用于设定鼠标标记的显示形式。
(9)对键盘及鼠标响应属性。MATLAB允许对按下键盘按键和鼠标键这样的动作进行响应,这类属性有KeyPressFcn(键盘键按下响应)、WindowButtonDownFcn(鼠标左键按下响应)、WindowButtonMotionFcn(鼠标移动响应)及WindowButtonUpFcn(鼠标键释放响应)等,这些属性所对应的属性值可以为用Matlab编写的函数名或命令名,表示一旦键盘按键或鼠标键按下之后,
将自动调用给出的函数或命令。
例:建立一个图形窗口,无菜单条,标题名称为“图形窗口示例”,起始于屏幕左下角、宽度和高度分别为300像素点和150像素点,背景色为绿色,
且当用户从键盘按下任意一个键时,将显示“Hello,Keyboard Key Pressed”字样。
命令如下:
>> hf=figure('Color',[0,1,0],'Position',[1,1,300,150],'Name','图形窗口示例', 'NumberTitle','off','MenuBar','none','KeyPressFcn', 'disp("hello,keyboard key pressed")')
例5.28 分别在4个不同的图形窗口绘制出正弦、余弦、正切、余切曲线。要求先建立一个图形窗口并绘图,然后每关闭一个再建立下一个,真到建立第4个窗口并绘图。
x= linspace(0,2*pi,60); y=sin(x); z=cos(x); t=tan(x); ct=1./(t+eps); %命令组特用 C4='figure("Name","cotangent(x)","NumberTitle","off");plot(x,ct);axis([0,2*pi,-40,40]);'; C3='figure("Name","tangent(x)","DeleteFcn",C4,"NumberTitle","off");plot(x,t);axis([0,2*pi,-40,40]);'; C2='figure("Name","cos(x)","DeleteFcn",C3,"NumberTitle","off");plot(x,z);axis([0,2*pi,-1,1]);'; %先创建1个图形窗口并绘制曲线 figure('Name','sin(x)','DeleteFcn',C2,'NumberTitle','off'); plot(x,y); axis([0,2*pi,-1,1]);
2.坐标轴对象
一、建立
(1)句柄变量=axes(属性名1,属性值1,属性名2,属性值2,...)
调用axes函数用指定的属性在当前图形窗口创建坐标轴,并将其句柄赋给左边的句柄变量。
也可以使用axes函数按MATLAB默认的属性值在当前图形窗口创建坐标轴,格式为:axes 或 句柄变量=axes
(2)用axes函数将坐标轴设定为当前坐标轴(坐标轴所在图形窗口自动成为当前图形窗口)格式为:axes(坐标轴句柄)
二、特有属性
(1)Box属性。on或off(默认);决定坐标轴是否有边框。
(2)GridLineStyle属性。线类型。
(3)Position属性。取值为[x,yw,h]。这个向量在图形窗口中决定一个矩形区域,坐标轴位于其中。该矩形 的左下角相对于图形 窗口左下角的坐标为(x,y),矩形的宽和高分别为w和h。它们的单位由Units属性决定。
(4)Units属性。该属性的聚会是normalized(相对单位,为默认值)、inches(英寸)、centimeters(厘米)和points(磅)。Units属性定义Position属性的度量单位。
(5)Title属性。例如,要改变标题的颜色,可执行命令:
h=get(gca,'Title');%获得标题文字对象句柄。
set(h,'Color',‘r’);%设置标题颜色
(6)XLabel、Ylabel、Zlabel属性。3种属性的取值分别是x、y、z轴说明文字的句柄。
h=get(gca,'XLabel');%获得x轴文字对象句柄
seth(h,'String','Valued of X axis');%设置x轴文字说明
(7)
(8)
3.曲线对象
4.文字对象
5.曲面对象
6.区域块对象
7.方框对象