轴的产生和控制命令
命令1 axes
功能 创建坐标轴图形对象。该命令是创建坐标轴图形对象的低级函数命令。
用法 axes 在当前图形窗口中用缺省的属性值创建一坐标轴图形对象。
axes('PropertyName',PropertyValue,…)
用参量'PropertyName'指定的属性名与用参量PropertyValue指定的属性值创建一坐标轴。对于没有指定的属性名,系统则使用缺省的属性值。
axes(h) 使已经存在的坐标轴h成为当前的坐标轴。同时使坐标轴h为图形窗口中的所有子对象属性(Children
property)的第一坐标轴,也使图形窗口的CurrentAxes属性为h。当前坐标轴是图形函数image、line、patch、
surface与text等命令输出图形对象的目的地。
h = axes(…) 返回已经创建的坐标轴对象的句柄。
命令2 cla
功能
清除当前坐标轴。该命令在命令窗口中执行与在回调程序中执行效果是一样的,即它不能区别由callback设置的属性HandleVisibility,
也就是说,当它从一回调程序中执行时,命令cla仅仅删除属性HandleVisibility为on的图形对象。
用法 cla
清除当前坐标轴中所有句柄为不隐藏(例如,图形对象属性HandleVisibility设置为on)的图形对象。
cla reset 无条件地清除当前坐标轴中所有图形对象,且重新设置坐标轴的属性,(除了属性Position和Units)。
命令3 gca
功能 获取当前坐标轴句柄。
用法 h=gca
返回当前图形窗口中的坐标轴句柄。若坐标轴不存在,系统则生成一坐标轴同时返回它的句柄。用户不想得到上面的结果,可以输入get(gcf,’CurrentAxes’)。
当前坐标轴为用户创建坐标轴以下子对象的目的地。有许多图形命令可以在当前坐标轴中画出图形对象,如:plot,text,surf等。改变了当前窗口,相应地改变了当前坐标轴。
图形句柄操作命令
命令1 gco
功能
返回当前对象的句柄。“当前对象”为最后用鼠标单击的对象,除了命令uimenus之外。若鼠标没有单击到一图形对象之下的子对象,则该图形对象为“当前
对象”。系统会把当前图形对象的句柄存放于图形的属性CurrentObject之中。当前图形窗口中的当前对象并非总是那些它们的回调函数,而是正在执
行的对象。其他函数的回调中断函数可以改变当前对象或者甚至是当前图形窗口。一些回调函数,如生成命令CreateFcn、删除命令DeleteFcn与
用户界面菜单命令Callback等就没有改变当前图形窗口或者当前对象。
用法 h = gco 返回当前对象的句柄给h。
h = gco(figure_handle) 返回指定窗口figure_handle中的当前对象的值。
命令2 get
功能 获取对象属性。
用法 get(h) 返回由句柄h指定的图形对象的所有属性与相应的当前属性值;
get(h,'PropertyName') 返回由句柄h指定的图形对象的指定属性PropertyName的属性值。
=
get(H,)
返回由m个图形对象的n个属性值组成的m*n阶的细胞数组,其中m=length(H),且n为指定的属性细胞数组
cell of array>中包含的属性名个数。
a = get(h)
返回一结构,其中该结构的域名为该对象的属性名,结构的域名值为相应属性的当前值。H必须为标量。若用户没有指定输出参量,则系统将信息显示于屏幕之上。
a = get(0,'Factory')
返回所有能由用户设置的属性的缺省定义值。输出参量a为一结构数组,该结构的域名为对象的属性名,域名值为相应属性的当前值。若用户没有指定输出参量,则系统将信息显示于屏幕之上。
a = get(0,'FactoryObjectTypePropertyName')
返回指定对象类型的指定的属性的缺省属性值。输入参量FactoryObjectTypePropertyName为一关键字,由字符Factory与对
象类型(如:Figure)还有属性名(如:Color)组成:FactoryFigureColor
a = get(h,'Default')
返回由句柄h指定的对象的所有缺省属性值。输出参量a为一结构,该结构的域名为缺省值对应的属性名。若用户没有指定输出参量,则系统将该结构信息显示于屏幕。
a = get(h,'DefaultObjectTypePropertyName')
返回对象类型的指定属性的缺省属性值。输入参量DefaultObjectTypePropertyName为一关键字,该字由字符Default与对象
类型名(例如:Figure)还有具体的属性名(例如:Color)组成:DefaultFigureColor
例7-50
若想获得定义于屏幕之上的图形对象属性LineWidth的缺省属性值,输入:get(0,'DefaultLineLineWidth')
命令3 set
功能 设置对象的属性。
用法 set(H,'PropertyName',PropertyValue,…)
用属性值'PropertyValue'设置关于用参量H标志的对象(一个或多个)的属性名'PropertyName'(一个或多个)。H可以为一句柄
的向量。在这种情形下,命令set可以设置所有对象的属性值。
set(H,a)
用指定的属性值设置由H标志的对象的属性。其中a为一结构数组,该结构数组的域名为对象的属性名,域名值为相应属性名的属性值。
set(H,pn,pv…) 对由H指定的所有对象中指定的细胞数组属性名pn设置为相应的细胞数组属性值pv。
set(H,pn,)
对于每m个图形对象设置n个属性值,其中m=length(H),n为包含属性名的细胞数组pn中包含的属性名个数。即允许用户对每一对象的指定的属性设置不同的属性值。
a= set(h)
返回句柄h中允许用户设置的属性名与可能的属性值。输出参量a为一结构数组,其域名为对象的属性名,域名值为相应的属性名对应的属性值。若没有指定输出参量a,则系统自动将信息显示于屏幕,h必须为标量。
a= set(0,'Factory')
返回那些用户可以设置缺省值的所有对象的属性名,同时显示可能的属性值,输出参量a为一结构数组,其域名为对象的属性名,域名值为相应的属性名对应的属性值,若没有指定输出参量a,则系统自动将信息显示于屏幕。
a= set(0,'FactoryObjectTypePropertyName')返回指定根对象(0)类型中指定的属性名
ObjectTypePropertyName的所有可能的属性值。输入参量是由固定的关键字Factory、对象类型(如axes)与属性名(如
position等)组成。
a= set(h,'Default') 返回由h标记的对象上缺省设置的值,其中h必须是标量。
a= set(h,'DefaultObjectTypePropertyName')
返回指定对象h的类型中指定的属性名ObjectTypePropertyName的所有可能的属性值。输入参量是由固定的关键字Factory、对象类
型(如axes)与属性名(如position等)组成。
命令4 reset
功能 重新设置图形对象的属性为它们的缺省值。
用法 reset(h)
重新设置由句柄h指定的图形对象的属性为系统为它们设置的初始值。若h为一图形figure,该命令不能重新设置属性
Position,Units,PaperPosition和PaperUnits;若h为一坐标轴axes,该命令不能重新设置属性Position和
Units。
例7-51
reset(gca) %重新设置当前坐标轴的属性。
reset(gcf) %重新设置当前图形的属性。
命令5 delete
功能 删除文件或图形对象。作为一可供选择的函数,用户可从当前目录浏览器(Current Directory
browser)中删除文件。要打开该浏览器,从MATLAB桌面上的View菜单中选择Current Directory命令。
用法 delete filename
从磁盘上删除指定的文件filename。参量filename可以是绝对路径或与当前路径相关的路径名。其中可以包括通配符(*)。
delete(h) 删除由句柄h指定的图形对象。该命令无条件地、直接地删除对象,甚至是图形窗口。
delete('filename') 这是第一种情形的函数形式。当文件名包含于字符串filename中时,使用函数形式。
例:
delete(‘D:\MATLABR12\work\*.m’) % 将删除指定目录上的所有.m文件。
命令6 findobj
功能 定位图形对象且返回它们的句柄。用户可用特定的属性值与沿着指定的层次分支来限定搜索条件。
用法 h = findobj返回根对象与它的所有的子孙对象句柄。
h = findobj('PropertyName',PropertyValue,…)
返回属性名PropertyName具有属性值PropertyValue的所有图形对象。用户可指定一对或多对PN与PV值,对此,findobj返回
满足所有条件的那些对象。
h = findobj(objhandles,…) 限定搜索的对象为列表于objhandles中的对象与它们子孙对象。
h = findobj(objhandles,'flat','PropertyName',PropertyValue,…)
限定搜索对象为objhandles中列出的对象,而不包含它们的子孙对象。
图形窗口的控制命令
命令1 subplot
功能
生成与控制多个坐标轴。把当前图形窗口分隔成几个矩形部分,不同的部分是按行方向以数字进行标号的。每一部分有一坐标轴,后面的图形输出于当前的部分中。
用法 subplot(m,n,p)
将一图形窗口分成m*n个小窗口,在第p个小窗口中创建一坐标轴。则新的坐标轴成为当前坐标轴。若p为一向量,则创建一坐标轴,包含所有罗列在p中的小窗口。
subplot(h) 使句柄h对应的坐标轴称为当前的,用于后面图形的输出显示。
subplot('Position',[left bottom width height])
在由4个元素指定的位置上创建一坐标轴。位置元素的单位为归一化单位。
h = subplot(…) 返回一新坐标的句柄于h。
命令2 hold
功能
保持当前图形窗口中的图形。该命令是决定是否在当前坐标轴中只能增加新的图形对象还是覆盖原有图形对象。测试保持状态命令为ishold。该命令可以设置当前坐标轴与当前图形的属性NextPlot。若一图形窗口中有多个坐标轴,则每个坐标轴有自己的保持状态。
用法 hold on
保留当前图形与当前坐标轴的属性值,后面的图形命令只能在当前存在的坐标轴中增加图形,即设置当前坐标轴属性NextPlot为add。当必要的时候,坐
标轴的一些属性在增加新图时还是要进行相应的改变。例如,当新图形的数据范围超出了当前坐标轴的范围,则命令会自动地改变坐标轴的范围,使能显示新图形。
hold off
在画新图形之前,重新设置坐标轴的属性为缺省值。off是命令hold命令的缺省值。设置当前坐标轴的属性NextPlot为replace。
hold
在on与off之间转换。即在增加图形与覆盖图形之间切换。当坐标轴不存在时,则生成一坐标轴。同时使当前坐标轴属性NextPlot在add与replace之间切换。
命令3 gcf
功能 获得当前图形窗口的句柄。
用法 h = gcf
返回当前图形窗口的句柄。当前窗口为由命令plot、title与surf等得到的结果。若不存在图形窗口,则系统自动地生成一个,并返回它的句柄。若用
户想当图形窗口不存在时,也不创建新的,则输入:get(0,'CurrentFigure')
命令4 clf
功能 清除当前图形窗口。该命令在命令窗口中执行与在回调程序中执行效果是一样的,即它不能区别由callback设置的属性
HandleVisibility,也就是说,当它从一回调程序中执行时,命令clf仅仅删除属性HandleVisibility为on的图形对象。
用法 clf
清除所有当前图形窗口与窗口中的所有那些句柄为不隐藏(例如它们的属性HandleVisibility为on)的图形对象。
clf reset
无条件地清除当前图形窗口中所有的图形对象,且重新设置所有图形窗口属性为缺省值,除了属性Position,Units,PaperPosition,PaperUnits。
命令5 close
功能 删除指定的图形窗口。
用法 close 删除当前的图形窗口。
close(h) 删除由句柄h指定的图形窗口。若h为一向量或矩阵,则close全部删除其中每一分量指定的图形句柄。
close name 删除指定名字name的窗口。
close all 删除所有没有隐藏的图形。
close all hidden 删除所有具有隐藏的图形。
status = close(…) 若成功地删除了指定的对象则返回status=1,否则返回0。
命令6 newplot
功能
做好开始画新图形对象的准备。在高级图形m-文件的开始使用该命令,用于确定在哪一个图形窗口与坐标轴中输出图形。调用命令newplot能改变当前窗口与坐标轴。基本上,当要在已经存在的窗口与坐标轴中画图,有三个选项可选:
1.没有改变任何属性与删除任何对象,直接在当前坐标轴中增加新的图形对象;
2.在画图形的对象之前,删除所有存在于当前坐标轴中的,句柄为非隐藏的对象;
3.在画图形的对象之前,无条件删除所有的存在于当前坐标轴中的对象(不管句柄是否为隐藏),同时设置大部分的属性为缺省值;
4.首先,newplot读取当前图形的属性NextPlot的属性值(关于该属性的含义参见figure或axes的属性表),再执行相应的动作;
5.然后,newplot确定在哪一个窗口中画图,它读取当前图形的属性NextPlot的属性值,执行相应的操作。
用法 newplot 画好图形窗口与坐标轴,后面的图形命令就可以在该坐标轴内画图。
h = newplot 效果如上,且返回当前坐标轴的句柄给h。