对象属性有两类默认值:factory defaults(出厂默认值)(初始值)和用户定义的默认值,后者可覆盖出厂默认值。
尽管可以为任何对象设置默认值,但它们是在父对象中设置的,并应用于指定对象类型的子对象。例如,为根(root)对象设置 line 对象的默认 color 属性为 "green",将导致所有 line 对象继承 "green" 作为其 color 属性的默认值。
set (groot, "defaultlinecolor", "green");
设置所有对象的默认线条颜色。构造用于设置默认值的属性名称的规则是
default + object-type + property-name
此规则可能导致一些看起来有点奇怪的名称,例如 "defaultlinelinewidth" 指定了 line 对象的默认 linewidth 属性。
上面的示例使用了根对象,因此默认属性值将应用于所有 line 对象。然而,默认值是分层的,因此在 figure 对象中设置的默认值会覆盖根对象中设置的默认值。同样,在 axes 对象中设置的默认值会覆盖在 figure 或根对象中设置的默认值。例如,
subplot (2, 1, 1); set (groot, "defaultlinecolor", "red"); set (1, "defaultlinecolor", "green"); set (gca (), "defaultlinecolor", "blue"); line (1:10, rand (1, 10)); subplot (2, 1, 2); line (1:10, rand (1, 10)); figure (2) line (1:10, rand (1, 10));
生成了两个图形窗口。第一个图形的第一个子图窗口中的线条是蓝色的,因为它从其父 axes 对象继承了颜色。第一个图形的第二个子图窗口中的线条是绿色的,因为它从其父 figure 对象继承了颜色。第二个图形窗口中的线条是红色的,因为它从全局根对象继承了颜色。
要删除用户定义的默认设置,请将默认属性设置为值 "remove"。例如,
set (gca (), "defaultlinecolor", "remove");
从当前 axes 对象中删除用户定义的默认线条颜色设置。要快速删除所有用户定义的默认值,请使用 reset 函数。
默认情况下,高级绘图函数(如 plot)会独立于默认值重置和重新定义 axes 属性。axes 的 box 属性就是这样一个例子:无论属性 "defaultaxesbox" 为何值,高级二维图形函数都会将其设置为 on。使用 hold 函数可以防止这种行为:
set (groot, "defaultaxesbox", "off");
subplot (2, 1, 1);
plot (1:10)
title ("Box is on anyway")
subplot (2, 1, 2);
hold on
plot (1:10)
title ("Box is off")
(h) ¶将图形对象 h 的属性重置为其默认值。
对于 figure,属性 "position"、"units"、"windowstyle" 和 "paperunits" 不受影响。对于 axes,属性 "position" 和 "units" 不受影响。
输入 h 也可以是图形句柄的向量,在这种情况下每个单独的对象都将被重置。
获取对象的 "default" 属性会返回为该对象设置的用户定义默认值列表。例如,
get (gca (), "default");
返回当前 axes 对象的用户定义默认值列表。
出厂默认值存储在根对象中。命令
get (groot, "factory");
返回出厂默认值的列表。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2