作为一个使用图象句柄的例子,可以考虑前面提出的问题。它要用非标准颜色画一条线 在这里,线的颜色用RGB值1.50来指定,它是适中的橘黄色 -2*pi I >)y=sin(x); find the sine of x ))HI sin=plot(x, y) plot sine and save line handle HI 59.0002 >)set(H sin, Color, [1.50), Line Width, 3)% Change the color and width 现在加一个浅蓝色的 cosine曲线: >)Z=cos(x); find the cosine ofx >)hold on keep the sine curve plot(x, z); plot the cosine and save the hand >)set(HI cos, Color',[75.75 1 color it light blue hold off 也可以用较少的步骤来实现同样的功能 >HI lines-plot(x, y, x, z); plot both curves and save both handles >)set(HI line( 1), Color, [1.501, Linewidth, 3) >)set(HI line( 2), Color, [75. ID) 如何加上一个标题并且使字体比正常大一些呢 >)title( Handle Graphics Example) add a title >Ht text=get(gca, Title)% get a handle to the title >)set(Ht text, FontSize, 16) customize the font size 最后一个例子说明了关于坐标轴对象令人感兴趣的性质。每一个对象都含有 Parent属性 和' Children’属性,该属性包含属于派生对象的句柄。画在一组坐标轴上的线,具有当作 Parent'属性值的坐标轴对象的句柄,而‘ Children‘属性值是一个空距阵。同时,这个坐标轴 对象具有当作‘ Parent‘属性值的图形句柄,而‘ Children‘属性值是线条对象的句柄。标题字 符串和坐标轴的标志不包含在坐标轴的‘ Children‘属性值里,而是保存在‘ Title‘、‘ Xlabel Ylabel‘和‘ Zlabel‘的属性内。创建坐标轴对象时,这些文本对象就建立。 title命令设 置当前坐标轴内标题文本对象的 String属性。最终,标准 MATLAB的函数tte, xlabel, ylabel 和 zlabel不返回句柄,而只接受属性和数值参量。例如下面的命令给当前图加一个24点的绿色 标题 >)title( This is a title., Fontsize, 24, Color', green)
作为一个使用图象句柄的例子,可以考虑前面提出的问题。它要用非标准颜色画一条线。 在这里,线的颜色用 RGB 值[1 .5 0]来指定,它是适中的橘黄色。 » x=-2*pi:pi/40:2*pi; % create data » y=sin(x); % find the sine of x » Hl_sin=plot(x,y) % plot sine and save line handle Hl_sin= 59.0002 » set(Hl_sin, ‘Color’ ,[1 .5 0], ‘LineWidth’ ,3) % Change the color and width 现在加一个浅蓝色的 cosine 曲线: » z=cos(x); % find the cosine of x » hold on % keep the sine curve » Hl_cos=plot(x,z); % plot the cosine and save the handle » set(Hl_cos, ‘Color’ ,[.75 .75 1]) % color it light blue » hold off 也可以用较少的步骤来实现同样的功能: » Hl_lines=plot(x,y,x,z); % plot both curves and save both handles » set(Hl_line(1), ‘Color’ ,[1 .5 0], ‘LineWidth’ ,3) » set(Hl_line(2), ‘Color’ ,[.75 .75 1]) 如何加上一个标题并且使字体比正常大一些呢? » title( ‘Handle Graphics Example’ ) % add a title » Ht_text=get(gca, ‘Title’ ) % get a handle to the title » set(Ht_text, ‘FontSize’ ,16) % customize the font size 最后一个例子说明了关于坐标轴对象令人感兴趣的性质。每一个对象都含有 ‘Parent’ 属性 和 ‘Children’ 属性,该属性包含属于派生对象的句柄。画在一组坐标轴上的线,具有当作 ‘Parent’ 属性值的坐标轴对象的句柄,而 ‘ Children ‘ 属性值是一个空距阵。同时,这个坐标轴 对象具有当作 ‘ Parent ‘ 属性值的图形句柄,而 ‘ Children ‘ 属性值是线条对象的句柄。标题字 符串和坐标轴的标志不包含在坐标轴的 ‘ Children ‘ 属性值里,而是保存在 ‘ Title ‘ 、 ‘ Xlabel ‘ 、 ‘ Ylabel ‘ 和 ‘ Zlabel ‘ 的属性内。创建坐标轴对象时,这些文本对象就建立。title 命令设 置当前坐标轴内标题文本对象的 ‘String’ 属性。最终,标准 MATLAB 的函数 title,xlabel,ylabel 和 zlabel 不返回句柄,而只接受属性和数值参量。例如下面的命令给当前图加一个 24 点的绿色 标题: » title( ‘This is a title.’ , ‘Fontsize’ ,24, ‘Color’ , ‘green’ )
除了函数set和get, MATLAB还提供了另外两个函数来操作对象和它们的属性。任意对 象和它们的子对象可以用) delete( handle)来删除。同样 o) reset( handle)将与句柄有关的全部 对象属性(除了‘ Position’属性)重新设置为该对象类型的缺省值 20.5查找对象 正如你所见,句柄图形提供了对图形对象的访问途径,并且允许用函数get和set定制图形。 但是,如果忘记保存句柄或图中对象的句柄将会怎样呢?或者,也许变量被覆盖又如何呢?如 果不知道它们的句柄,怎么改变对象的属性呢?为解决这个问题, MATLAB提供了查找对象句 柄的工具 gf和gca这两种工具前面已经介绍过了 >)Hf fig=ge 返回当前图形的句柄,而 )Ha axgca 返回当前图形的当前坐标轴的句柄。 除了这些,还有一个获取当前对象的gco ) Hx obj=g 返回当前图形的当前对象的句柄。或者用另一种方法: >)Hx obj=gco(Hf fig) 返回与句柄Hffg有关的图形中当前对象的句柄 当前对象的定义为用鼠标刚刚点过的对象。这种对象可以是除根对象(计算机屏幕)之外 的任何图形对象。但是,如果鼠标指针处在一个图形中而鼠标按钮未点,gco返回一个空距阵。 为了让当前对象存在,我们必须选择一些东西。 旦获得了一个对象的句柄,它的对象类型可以通过查询对象的Type'属性来获得。该属 性是一个字符串对象名,比如 figure',"axes或text'。例如: >)x type=get(Hx obj, Type) MATLAB中的函数gef,gca和gco是很好的例子,它们说明如何利用句柄图形来获得有关 对象的信息。函数gcf获得根对象的 Current Figure'的属性值,即是当前图形的句柄。gcfM 文件包含
除了函数 set 和 get,MATLAB 还提供了另外两个函数来操作对象和它们的属性。任意对 象和它们的子对象可以用 » delete(handle) 来删除。同样 »reset(handle) 将与句柄有关的全部 对象属性(除了 ‘Position’ 属性)重新设置为该对象类型的缺省值。 20.5 查找对象 正如你所见,句柄图形提供了对图形对象的访问途径,并且允许用函数 get 和 set 定制图形。 但是,如果忘记保存句柄或图中对象的句柄将会怎样呢?或者,也许变量被覆盖又如何呢?如 果不知道它们的句柄,怎么改变对象的属性呢?为解决这个问题,MATLAB 提供了查找对象句 柄的工具。 gcf 和 gca 这两种工具前面已经介绍过了。 » Hf_fig=gcf 返回当前图形的句柄,而 » Ha_ax=gca 返回当前图形的当前坐标轴的句柄。 除了这些,还有一个获取当前对象的 gco。 » Hx_obj=gco 返回当前图形的当前对象的句柄。或者用另一种方法: » Hx_obj=gco(Hf_fig) 返回与句柄 Hf_fig 有关的图形中当前对象的句柄。 当前对象的定义为用鼠标刚刚点过的对象。这种对象可以是除根对象(计算机屏幕)之外 的任何图形对象。但是,如果鼠标指针处在一个图形中而鼠标按钮未点,gco 返回一个空距阵。 为了让当前对象存在,我们必须选择一些东西。 一旦获得了一个对象的句柄,它的对象类型可以通过查询对象的 ‘Type’ 属性来获得。该属 性是一个字符串对象名,比如 ‘figure’ ,’axes’ 或 ‘text’ 。例如: » x_type=get(Hx_obj, ‘Type’ ) MATLAB 中的函数 gcf,gca 和 gco 是很好的例子,它们说明如何利用句柄图形来获得有关 对象的信息。函数 gcf 获得根对象的 ‘CurrentFigure’ 的属性值,即是当前图形的句柄。gcf M 文件包含: