Spec-Zone.ru › Octave 9

Предыдущий: Поиск свойств, Вверх: Графические структуры данных [Оглавление][Индекс]

15.3.5 Управление свойствами по умолчанию ¶

Свойства объектов имеют два класса значений по умолчанию: заводские значения по умолчанию (начальные значения) и пользовательские значения по умолчанию, которые могут переопределять заводские значения.

Хотя значения по умолчанию могут быть заданы для любого объекта, они задаются в родительских объектах и применяются к дочерним объектам указанного типа объекта. Например, установка свойства color по умолчанию для объектов line в значение "green" для объекта root приведет к тому, что все объекты line унаследуют значение color "green" в качестве значения по умолчанию.

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

устанавливает цвет линии по умолчанию для всех объектов. Правило для построения имени свойства для установки значения по умолчанию следующее:

default + object-type + property-name

Это правило может привести к некоторым странным именам, например, defaultlinelinewidth" задает свойство linewidth по умолчанию для объектов line.

В приведенном выше примере использовался корневой объект, поэтому значение свойства по умолчанию будет применяться ко всем объектам линий. Однако значения по умолчанию являются иерархическими, поэтому значения по умолчанию, заданные в объектах фигуры, переопределяют значения по умолчанию, заданные в корневом объекте. Аналогично, значения по умолчанию, заданные в объекте осей, переопределяют значения по умолчанию, заданные в объектах фигуры или корневого объекта. Например,

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

удаляет пользовательскую настройку цвета линии по умолчанию из текущего объекта осей. Для быстрого удаления всех пользовательских значений по умолчанию используйте функцию reset.

По умолчанию функции высокоуровневого построения графиков, такие как plot, сбрасывают и переопределяют свойства осей независимо от значений по умолчанию. Примером такого свойства является свойство осей box: оно устанавливается on функциями высокоуровневой 2-мерной графики независимо от свойства "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");

возвращает список пользовательских значений по умолчанию для текущего объекта осей.

Значения заводских значений по умолчанию хранятся в корневом объекте. Команда

get (groot, "factory");

возвращает список значений заводских значений по умолчанию.

Предыдущий: Поиск свойств, Вверх: Графические структуры данных [Оглавление][Индекс]

© 1996–2023 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/v9.2.0/Managing-Default-Properties.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API