9.11 图形对象属性

第九章图形句柄第269页尽管当前的默认颜色为黄色,下面的语句将会用factory创建下面的图象。


set(0, 'DefaultFigureColor', 'y'); 

figure('Color', 'factory');

第三个特殊的属性值字符串是default,这个属性值迫使MATLAB搜索对象层次结构,直到查到所需属性的一个默认值。如果找到,它就使用该默认值。如果查到根对象,没有找到用户定义的默认值,MATLAB就使用factory默认值。它的应用说明如下:


% Set default values

set(0, 'DefaultLineColor', 'k'); % root default = black

set(gcf, 'DefaultLineColor', 'g'); % figure default = green



% Create a line on the current axes. This line is green.

Hndl = plot(randn(1, 10));

set(Hndl, 'Color', 'default');

pause(2);



% Now clear the figure default and set the line color to the new default. 

% The line is now black.

set(gcf, 'DefaultLineColor', 'remove');

set(Hndl, 'Color', 'default');

要知道,MATLAB中的图形对象属性有成百上千,但我们不可能一一讨论。通过MATLAB帮助台可以得到所有属性信息,如在这篇MATLAB属性对象中有详细介绍。每个图形对象都由一个独一无二的句柄指出,同时每个对象都有很多与其关联的属性,这些属性会影响对象显示的方式。

9.12 总结

MATLAB图形中的每一个元素都是一对图形对象,每个对象都由一个独一无二的句柄指出,同时每个对象都很多与其关联的属性,这些属性会影响对象显示的方式。MATLAB按父对象(parent objects)和子对象(child objects)的关系进行分层次排列。是不是有点像家族树?每个子对象继承了父对象的许多属性。MATLAB中的最高层图形对象是root,可以认为它就是整个计算机的屏幕。在root下面有一个或多个图形窗口(Figure Windows),每个figure都是计算机屏幕上的一个独立窗口。每个figure都有自己的属性,它们可以包含四种类型的对象:uimenus,uicontextmenus,uicontrols和axes。

你知道吗?uimenus,uicontextmenus和uicontrols是特殊的图形对象,用于创建图形用户接口——这一点将在下一章中讨论。axes是图形中实际绘制数据的区域,一个图形可以包含多个axes,每个axes又可以含有任意多的lines、text字符串、patches和其他图形对象。

通过函数gcf、gca和gco可以分别得到当前图形、当前坐标axes和当前对象的句柄。任一对象的属性都可以使用get和set函数进行检查和修改。想更深入了解MATLAB图形对象的句柄和属性?可以看看这篇MATLAB图形对象句柄详解哦。