Spec-Zone.ru › Octave 9

Следующее: Использование свойства "interpreter", Предыдущее: Управление объектами графика, Выше: Высокоуровневое построение графиков [Оглавление][Индекс]

15.2.7 Управление окнами графиков ¶

По умолчанию Octave обновляет окно графика при выводе приглашения или при ожидании ввода. Для обновления окна графика используется функция drawnow.

: drawnow () ¶
: drawnow ("expose") ¶
: drawnow (term, file, debug_file) ¶

Обновление окон фигур и их дочерних элементов.

Очередь событий очищается, и выполняются все сгенерированные обратные вызовы.

С необязательным аргументом "expose", обновляются только графические объекты, и другие события или обратные вызовы не обрабатываются.

Третья форма вызова drawnow предназначена для отладки и не документирована.

См. также: refresh.

Обновятся только измененные фигуры. Функция refresh также может быть использована для обновления текущей фигуры, даже если она не была изменена.

: refresh () ¶
: refresh (h) ¶

Обновление фигуры, принудительно перерисовывая её.

Без аргументов перерисовывается текущая фигура. В противном случае перерисовывается фигура с графическим дескриптором h.

См. также: drawnow.

Обычно высокоуровневые функции построения графиков, такие как plot или mesh, вызывают newplot, чтобы определить, следует ли инициализировать состояние целевых осей (по умолчанию) или последующие графики должны быть нарисованы поверх предыдущих. Чтобы нарисовать два графика поверх друг друга, используйте функцию hold или вручную измените свойство осей nextplot. Например,

hold on;
x = -10:0.1:10;
plot (x, sin (x));
plot (x, cos (x));
hold off;

отображает синусоиду и косинус на одних и тех же осях. Если состояние hold выключено, последующие команды построения графиков, такие как эта, будут отображать только последний график.

: newplot () ¶
: newplot (hfig) ¶
: newplot (hax) ¶
: hax = newplot (…) ¶

Подготовка графического движка для построения нового графика.

Эта функция вызывается в начале всех высокоуровневых функций построения графиков. Обычно она не требуется в пользовательских программах. newplot запрашивает поле "NextPlot" текущей фигуры и осей, чтобы определить, что делать.

Figure NextPlot Действие
"new" Создать новую фигуру и сделать её текущей.
"add" (по умолчанию) Добавить новые графические объекты в текущую фигуру.
"replacechildren" Удалить дочерние объекты, у которых HandleVisibility установлено в "on". Установить свойство NextPlot в "add". Обычно очищает фигуру, но оставляет скрытые объекты, такие как строка меню. Это эквивалентно clf.
"replace" Удалить все дочерние объекты фигуры и сбросить все свойства фигуры до их значений по умолчанию. Однако следующие четыре свойства не сбрасываются: Position, Units, PaperPosition, PaperUnits. Это эквивалентно clf reset.
Axes NextPlot Действие
"add" Добавить новые графические объекты на текущие оси. Это эквивалентно hold on.
"replacechildren" Удалить дочерние объекты, у которых HandleVisibility установлено в "on", но оставить свойства осей без изменений. Обычно очищает график, но сохраняет такие специальные настройки, как логарифмическое масштабирование осей. Это эквивалентно cla.
"replace" (по умолчанию) Удалить все дочерние объекты осей и сбросить все свойства осей до их значений по умолчанию. Однако следующие свойства не сбрасываются: Position, Units. Это эквивалентно cla reset.

Если в качестве необязательного входного значения указаны hfig или hax, то подготовка производится для указанной фигуры или осей, а не для текущей фигуры и осей.

Необязательное возвращаемое значение hax — это графический дескриптор созданного объекта оси (не фигуры).

Внимание: Вызов newplot может изменить текущую фигуру и текущие оси.

: hold ¶
: hold on ¶
: hold off ¶
: hold (hax, …) ¶

Переключить или установить состояние "hold" графического движка, которое определяет, добавляются ли новые графические объекты к графику или заменяют существующие объекты.

hold on

Сохранить данные и настройки графика, чтобы последующие команды построения графиков отображались на одном графике. Цвет и стиль линии усложняются для каждого нового добавленного графика.

hold all (deprecated)

Эквивалентно hold on.

hold off

Восстановить стандартные настройки графики, очистить график и сбросить свойства осей перед каждой новой командой построения графика (по умолчанию).

hold

Переключить текущее состояние hold.

При указании дополнительного аргумента hax, состояние hold изменяется для этих осей, а не для текущих осей, возвращаемых gca.

Для запроса текущего состояния hold используйте функцию ishold.

См. также: ishold, cla, clf, newplot.

: tf = ishold ¶
: tf = ishold (hax) ¶
: tf = ishold (hfig) ¶

Возвращает true, если следующий график будет добавлен к текущему графику, или false, если устройство графика будет очищено перед отрисовкой следующего графика.

Если в качестве первого аргумента указан дескриптор оси hax или фигуры hfig, то операции выполняются с этим графиком, а не с текущим.

См. также: hold, newplot.

Для очистки текущей фигуры вызовите функцию clf. Для очистки текущей оси вызовите функцию cla. Для вывода текущей фигуры в верхнюю часть стека окон вызовите функцию shg. Для удаления графического объекта вызовите функцию delete для его индекса. Для закрытия окна фигуры вызовите функцию close.

: clf ¶
: clf reset ¶
: clf (hfig) ¶
: clf (hfig, "reset") ¶
: h = clf (…) ¶

Очистить текущее окно графика.

clf работает путём удаления графических объектов-потомков с видимыми дескрипторами (HandleVisibility = "on").

Если указан необязательный аргумент "reset", удаляются все объекты-потомки, включая те, у которых скрыты дескрипторы, и все свойства окна графика сбрасываются до значений по умолчанию. Однако следующие свойства не сбрасываются: Position, Units, PaperPosition, PaperUnits.

Если первый аргумент hfig является дескриптором окна графика, то операция выполняется для этого окна, а не для текущего окна, возвращаемого функцией gcf.

Необязательное возвращаемое значение h — это дескриптор графического окна, которое было очищено.

См. также: cla, close, delete, reset.

: cla ¶
: cla reset ¶
: cla (hax) ¶
: cla (hax, "reset") ¶

Очистить текущий или указанный объект осей (hax).

cla работает путём удаления графических объектов-потомков с видимыми дескрипторами (HandleVisibility = "on"). Это обычно очищает оси от визуальных объектов, но оставляет пределы осей, метки, деления и т. д. Кроме того, автоматическое форматирование и стилизация линий сбрасываются путём изменения свойств осей ColorOrderIndex, LinestyleOrderIndex на 1.

Если указан необязательный аргумент "reset", удаляются все объекты-потомки, включая те, у которых скрыты дескрипторы, и все свойства осей сбрасываются до значений по умолчанию. Однако следующие свойства не сбрасываются: Position, Units.

Если первый аргумент hax — дескриптор осей, то операция выполняется для этих осей, а не для текущих осей, возвращаемых gca.

См. также: clf, delete, reset.

: shg ¶

Показать окно графика.

Эта функция делает текущее окно графика видимым и помещает его поверх всех других окон графиков.

Примечание для программистов: shg эквивалентно figure (gcf), если существует текущее окно графика.

См. также: figure, drawnow, gcf.

: delete file ¶
: delete file1 file2 … ¶
: delete (file) ¶
: delete (file1, file2, …) ¶
: delete (handle) ¶

Удалить указанный файл или дескриптор графического объекта.

file может содержать шаблоны подстановки, такие как ‘*’. Несколько файлов для удаления можно указать в одном вызове функции.

handle может быть скаляром или вектором дескрипторов графических объектов для удаления.

Примечание для программистов: удаление графических объектов — это правильный способ удаления элементов графика без очистки всего окна графика.

См. также: clf, cla, unlink, rmdir.

: close ¶
: close (h) ¶
: close figname ¶
: close all ¶
: close all hidden ¶
: close all force ¶
: status = close (…) ¶

Закрыть окно(а) графика.

При вызове без аргументов закрывает текущее окно графика. Это эквивалентно close (gcf). Если входной h является дескриптором графического объекта, или вектором дескрипторов, то закрывает каждое окно графика в h. Окно для закрытия также может быть указано по имени figname, которое сопоставляется со свойством "Name" всех окон графиков.

Если указан аргумент "all", то закрываются все окна графиков с видимыми дескрипторами (HandleVisibility = "on").

Если указан дополнительный аргумент "hidden", то закрываются все окна графиков, включая скрытые.

Если указан дополнительный аргумент "force", то окна графиков закрываются даже если "closerequestfcn" было изменено для предотвращения закрытия окна.

Если запрашивается необязательное выходное значение status, то Octave возвращает 1, если окна графиков были закрыты успешно.

Примечание по реализации: close работает путём назначения дескриптору h текущего окна графика и вызова функции, указанной свойством "closerequestfcn" окна. По умолчанию используется функция closereq. Возможна задержка или прерывание удаления окна графиков вызываемой функцией. Чтобы удалить окно без выполнения функций обратного вызова, используйте delete. При написании функции обратного вызова для закрытия окна не используйте close, чтобы избежать рекурсии.

См. также: closereq, delete.

: closereq () ¶

Закрыть текущее окно графика и удалить все связанные с ним графические объекты.

По умолчанию свойство "closerequestfcn" нового окна графика указывает на эту функцию.

См. также: close, delete.

Next: Использование свойства "interpreter", Previous: Работа с объектами графиков, Up: Высокоуровневое построение графиков [Содержание][Индекс]

© 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/Manipulation-of-Plot-Windows.html

Spec-Zone.ru

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