15.3.5管理默认属性

对象属性有两类默认值,factorydefaults(初始值)和用户定义的默认值,这可能会覆盖出厂默认值。

尽管可以为任何对象设置默认值,但它们是在父对象中设置的,并应用于指定对象类型的子对象。例如,设置默认值color的属性line对象到"green",用于root对象,将导致所有line继承的对象color "green"作为默认值。

set (groot, "defaultlinecolor", "green");

设置所有对象的默认线颜色。构造属性名称以设置默认值的规则是

default + object-type + property-name

例如,这里的规则可能会导致一些看起来很奇怪的名字defaultlinelinewidth"指定默认值linewidth的属性line物体。

上面的示例使用了根对象,因此默认属性值将应用于所有行对象。但是,默认值是层次性的,因此图形对象对象中设置的默认值将覆盖根对象中的默认值。同样,轴对象中的defaultsset会覆盖图形对象对象或根对象中设置的默认sset。例如,

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));

返回两个数字。第一个图的第一个子图窗口中的线是蓝色的,因为它继承了其父轴对象的颜色。第一个图形的第二个子图形窗口中的线是绿色的,因为它继承了其父图形对象的颜色。第二个图形窗口中的线是红色的,因为它继承了全局根对象的颜色。

要删除用户定义的默认设置,请将默认属性设置为值"remove"例如

set (gca (), "defaultlinecolor", "remove");

从当前axesobject中删除用户定义的默认线条颜色设置。要快速删除所有用户定义的默认值,请使用reset作用

默认情况下,高级打印函数,如plot独立于默认值重置和定义轴对象属性。轴就是这种性质的一个例子box属性:已设置on通过高级二维图形函数,无论属性如何"defaultaxesbox"。使用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")
 
: reset (h)

重置图形对象的属性h设置为默认值。

对于图形,属性"position", "units","windowstyle""paperunits"不受影响。对于轴,属性"position""units"没有受到影响。

输入h也可以是图形句柄的向量,在这种情况下每个单独的对象都将被重置。

详见: cla, clf, newplot.

广告

正在获取"default"对象的属性返回为该对象设置的用户定义的默认值的列表。例如

get (gca (), "default");

返回当前axesobject的用户定义的默认值列表。

出厂默认值存储在根对象中。命令

get (groot, "factory");

返回出厂默认值的列表。


版权所有 © 2024-2025 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2