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图形对象句柄详解哦。
暂无评论