图形对象的创建(常用图形对象的创建方法及特殊属性)

时间:2021-11-12 20:22:30

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.方框对象