MATLAB系列09:图形句柄
9. 图形句柄
9.1 MATLAB图形系统
MATLAB 图形系统是建立在图形对象的等级系统之上, 每一个图形对象都有一个独立的名字, 这个名字叫做句柄。 每一个图形对象都有它的属性, 我们可以通过修改它的属性来修改物体的行为。 例如, 一条曲线是图形对象的一种。 曲线对象有以下的属性: x 数据, y 数据, 颜色, 线的类型, 线宽, 符号类型等等。 修改其中的一个属性就会改变图象窗口中的一个图像。
图形对象的层次结构如下:

在 MATLAB 中最高层次的图形对象被称为根对象, 我们可以通过它对整个计算机屏幕进行控制。 当 MATLAB 启动时, 根对象会被自动创建, 它一直存在直到 MATLAB 被关闭。与根对象相关的属性是应用于所用 MATLAB 窗口的默认属性。
在根对象下, 有多个图像窗口, 或只有图像。 每一个图像在用于显示图像数据的计算机屏幕上都有一个独立的窗口, 每一个图像都有它独立的属性。 与图像相关的属性有, 颜色,图片底色, 纸张大小, 纸张排列方向, 指针类型等。
9.2 对象句柄
句柄是在 MATLAB 中的一个独一无二的整数或实数, 用于指定对象的身份。 用于创建一个图象对象的任意命令都会自动地返回一个句柄。示例:
>> Handl=figure
Handl =
Figure (1) - 属性:
Number: 1
Name: ''
Color: [0.9400 0.9400 0.9400]
Position: [573 444 560 420]
Units: 'pixels'
显示 所有属性
图像(图)对象的句柄一般是一个小的正整数, 例如 1, 2, 3……而其他的图形(graphic)对象为任意的浮点数。我们可以利用 MATLAB 函数得到图像, 坐标系和其他对象的句柄。 例如, 函数 gcf 返回当前图像窗口的句柄, 而函数 gca 则返回在当前图像窗口中的当前坐标系对象的句柄, 函数gco 返回当前选择对象的句柄。 为了方便, 存储句柄的变量名要在小写字母后面个H。 这样就可以与普通变量(所有的小写变量, 大写变量, 全局变量)区分开来。
9.3 对象属性的检测和更改
9.3.1 在创建对象时改变对象的属性
当一个对象被创建时, 所有的属性都会自动初始化为默认值。 包含有"propertyname(属性名)"的创建函数创建对象时, 默认值会被跳过, 而跳过的值在创建函数中有。
plot(x, y, 'LineWidth', 2);
9.3.2 对象创建后改变对象的属性
我们可以用随时用 get 函数检测任意一个对象的属性, 并用 set 函数对它进行修改。
示例:
>> x = 0:0.1:2;
y = x .^2;
Hnd1 = plot(x, y);
>> result=get(Hnd1)
result =
包含以下字段的 struct:
XData: [0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1 … ] (1×21 double)
XDataMode: 'manual'
XVariable: ''
YData: [0 0.0100 0.0400 0.0900 0.1600 0.2500 0.3600 0.4900 0.6400 0.8100 1 … ] (1×21 double)
YDataMode: 'manual'
YVariable: ''
ZData: [1×0 double]
ZDataMode: 'auto'
ZVariable: ''
XDataSource: ''
YDataSource: ''
ZDataSource: ''
Color: [