matlab的句柄 图形对象 gca gco gcf set get

1.matlab下的图形对象
对象 描述
Root 对计算机屏幕最高级的对象
Figure 用来显示图形和用户界面的窗口
Axes 在窗口中显示图形的轴
Uicontrol 用户界面控制。执行一个对用户交互作用的函数。
Uimenu 用户定义窗口菜单
Uicontextmenu 右键单击对象时弹出的菜单
Image 二维像素基础图
Light 影响斑点和表面对象着色的光源
Line 用于诸如plot, plot3, semilogx 等函数的线
Patch 带边缘的填充多边形
Rectangle 二维形状,从矩形到椭圆
Surface 由x-y 平面以上的数据值所作图创建的矩阵数据的三维表示
Text 字符串
2.什么是句柄图形对象
计算机屏幕是根对象,并且是所有其它对象的父亲。图形窗口是根对象的子对象;坐标轴和用户界面对象(在下一章讨论)是图形窗口的子对象;线
条、文本、曲面、补片和图象对象是坐标轴对象的子对象。

根可包含一个或多个图形窗口,每一个图形窗口可包含一组或多组坐标轴。所有其它的对象(除了在下一章讨论的uicontrol 和uimenu 外)都是坐标轴的子对象,并且在这些坐标轴上显示。所有创建对象的函数当父对象或对象不存在时,都会创建它们。例如,如果没有图形窗口,plot(rand(size([1:10])))函数会用缺省属性创建一个新的图形窗口和一组坐标轴,然后在这组坐标轴内画线。
3.句柄
每一个图象对象都有一个独一无二的名字,这个名字叫做句柄。句柄是在 MATLAB 中的
一个独一无二的整数或实数,用于指定对象的身份。用于创建一个图象对象的任意命令都会自
动地返回一个句柄。例如,命令
Hnd1 = figure;
创建一个新的图象,并返回这个图象的句柄到变量 Hnd1。根对象句柄一般为 0,图象(图)
对象的句柄一般是一个小的正整数,例如 1,2,3……而其他的图形(graphic)对象为任意的浮点
数。
4 gca gcf gco函数
我们可以利用 MATLAB函数得到图象,坐标系和其他对象的句柄。例如,函数 gcf返回当前图象窗口的句柄,而函数 gca 则返回在当前图象窗口中的当前坐标系对象的句柄,函数 gco返回当前选择对象的句柄。这些函数将会在后面将会被具体讨论。 为了方便,存储句柄的变量名要在小写字母后面个 H。这样就可以与普通变量(所有的小写变量,大写变量,全局变量)区分开来
我们可以用随时用 get 函数检测任意一个对象的属性,并用 set 函数对它进行修改。get 函
数最常见的形式如下
value = get(handle, ‘PropertyName’);
value = get(handle);
value是勤句柄指定对象的属性值。如果在调用函数时,只有一个句柄,那么函数将会返
回一个结构,域名为这个对象的属性名,域值为属性值。
set 函数的最常用形式为
set(handle,‘PropertyName1’, value1, …);
例子:
Hnd1 = plot(x, y);
图象如图 9.2a所示。这个曲线的句柄被存储在变量 Hnd1 内,我们可以利用它检测和修改
这条曲线的属性。函数 get(Hnd1)在一个结构中返回这条曲线所有的属性,每一个属性名都为结
构的一个元素。

result=get(Hnd1)
result =

             Color: [0 0 1]
         EraseMode: 'normal'
         LineStyle: '-'
         LineWidth: 0.5000
            Marker: 'none'
        MarkerSize: 6
   MarkerEdgeColor: 'auto'
   MarkerFaceColor: 'none'
             XData: [1x21 double]
             YData: [1x21 double]
             ZData: [1x0 double]
      BeingDeleted: 'off'
     ButtonDownFcn: []
          Children: [0x1 double]

图对象,axes对象,line对象的句柄。图对象的句柄由函数gcf返回,axes 对象的句柄由函数 gca 返回,line对象由plot函数返回

set(gcf,‘Color’,[1 0.8 0.8]);
set(gca,‘YGrid’,‘on’);
set(Hndl,‘Color’,[1 0.5 0],‘LineWidth’,3);
matlab的句柄 图形对象 gca gco gcf set get_第1张图片
用 set函数列出可能属性值
函数用于提供所有可能的属性值列表。如果在调用函数 set 时,只包括属性名而不包括相应
的属性值,那么函数 set 就会返回所有的合法属性值。例如,命令set(Hnd1,“LineStyle”)将返
回所有可能的线型,大括号中是默认的线型。

set(Hndl,‘LineStyle’)
[ {-} | – | : | -. | none ]
这个函数的合法包括和"none",第一个是默认的类型。

set(Hndl,‘LineWidth’)
A line’s “LineWidth” property does not have a fixed set of property values.
函数 set(Hnd1)返回一个对象的所有属性的所有可能的属性值。

set(Hndl)

ans =

             Color: {}
         EraseMode: {4x1 cell}

       LineStyle: {5x1 cell}
         LineWidth: {}
            Marker: {14x1 cell}
        MarkerSize: {}
   MarkerEdgeColor: {2x1 cell}
   MarkerFaceColor: {2x1 cell}

 LineStyle: {5x1 cell}
         LineWidth: {}
            Marker: {14x1 cell}
        MarkerSize: {}
   MarkerEdgeColor: {2x1 cell}
   MarkerFaceColor: {2x1 cell}
             XData: {}

你可能感兴趣的:(matlab的句柄 图形对象 gca gco gcf set get)