15.3.5 Управление свойствами по умолчанию
Свойства объектов имеют два класса значений по умолчанию: значения по умолчанию по умолчанию (начальные значения) и пользовательские значения по умолчанию, которые могут переопределять значения по умолчанию по умолчанию.
Хотя значения по умолчанию могут быть установлены для любого объекта, они устанавливаются в родительских объектах и применяются к дочерним объектам указанного типа объекта. Например, установка свойства color по умолчанию для объектов line в значение "green" для объекта root приведет к тому, что все объекты line унаследуют значение color "green" в качестве значения по умолчанию.
set (groot, "defaultlinecolor", "green");
устанавливает цвет линии по умолчанию для всех объектов. Правило для построения имени свойства для установки значения по умолчанию такое
default + object-type + property-name
Это правило может привести к некоторым странным именам, например, defaultlinelinewidth" указывает свойство 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, сбрасывают и переопределяют свойства осей независимо от значений по умолчанию. Пример такого свойства — свойство осей box: оно устанавливается on функциями 2D графики высокого уровня независимо от свойства "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 также может быть вектором дескрипторов графических объектов, в этом случае каждый отдельный объект будет сброшен.
Получение свойства "default" объекта возвращает список пользовательских значений по умолчанию, установленных для объекта. Например,
get (gca (), "default");
возвращает список пользовательских значений по умолчанию для текущего объекта axes.
Значения по умолчанию по умолчанию хранятся в корневом объекте. Команда
get (groot, "factory");
возвращает список значений по умолчанию по умолчанию.
© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v6.4.0/Managing-Default-Properties.html