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;
отображает синусоиду и косинусоиду на одних и тех же осях. Если режим удержания выключен, последовательные команды построения графиков, такие как эта, отобразят только последний график.
- : newplot ()
- : newplot (hfig)
- : newplot (hax)
- : hax = newplot (…)
-
Подготовить графический движок для создания нового графика.
Эта функция вызывается в начале всех высокоуровневых функций построения графиков. Обычно в пользовательских программах она не требуется.
newplotпроверяет поле"NextPlot"текущей фигуры и осей, чтобы определить, что делать.NextPlot фигуры Действие "new"Создать новую фигуру и сделать ее текущей. "add"(по умолчанию)Добавить новые графические объекты в текущую фигуру. "replacechildren"Удалить дочерние объекты, у которых HandleVisibility установлено в "on". Установить свойство NextPlot в"add". Обычно очищает фигуру, но оставляет скрытые объекты, такие как строка меню. Эквивалентноclf."replace"Удалить все дочерние объекты фигуры и сбросить все свойства фигуры до их значений по умолчанию. Однако следующие четыре свойства не сбрасываются: Position, Units, PaperPosition, PaperUnits. Эквивалентно clf reset.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 on-
Сохранить данные и настройки графика, чтобы последующие команды построения графиков отображались на одном графике. Цвета и стили линий продвинуты для каждого нового графика.
hold all (deprecated)-
Эквивалентно
hold on. hold off-
Восстановить настройки графиков по умолчанию, которые очищают график и сбрасывают свойства осей перед каждой новой командой построения графиков (по умолчанию).
holdПереключает текущий режим удержания.
Если задан дополнительный аргумент hax, то режим удержания изменяется для этой оси, а не для текущей оси, возвращаемой
gca.Для запроса текущего режима удержания используйте функцию
ishold.
- : ishold
- : ishold (hax)
- : ishold (hfig)
-
Возвращает true, если следующий график будет добавлен к текущему графику, или false, если устройство графика будет очищено перед построением следующего графика.
Если первый аргумент — это идентификатор оси hax или идентификатор фигуры hfig, то операции выполняются на этом графике, а не на текущем.
Чтобы очистить текущую фигуру, вызовите функцию 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
- : cla reset
- : cla (hax)
- : cla (hax, "reset")
-
Очистить текущий или указанный (hax) объект осей.
claработает путем удаления дочерних графических объектов с видимыми идентификаторами (HandleVisibility="on"). Это обычно очищает оси от любых визуальных объектов, но оставляет пределы осей, деления и метки, вид камеры и т. д. Кроме того, автоматическое форматирование и стилизация линий сбрасываются путем изменения свойств осейColorOrderIndex,LinestyleOrderIndexдо 1.Если необязательный аргумент
"reset"задан, удаляются все дочерние объекты, включая те, что имеют скрытые идентификаторы, и сбрасываются все свойства осей до их значений по умолчанию. Однако следующие свойства не сбрасываются:Position,Units.Если первый аргумент hax — это идентификатор осей, то операция выполняется на этих осях, а не на текущих осях, возвращаемых
gca.
- : shg
-
Показать окно графика.
Эта функция делает текущую фигуру видимой и помещает ее поверх всех других окон графиков.
Примечание по программированию:
shgэквивалентноfigure (gcf), предполагая, что текущая фигура существует.
- : delete (file)
- : delete (file1, file2, …)
- : delete (handle)
-
Удалить указанный файл или графический идентификатор.
file может содержать шаблоны поиска, такие как ‘*’. Несколько файлов, подлежащих удалению, могут быть указаны в одном вызове функции.
handle может быть скаляром или вектором графических идентификаторов для удаления.
Примечание по программированию: удаление графических объектов — это правильный способ удаления элементов с графика без очистки всей фигуры.
- : Закрыть
- : Закрыть (h)
- : Закрыть figname
- : Закрыть все
- : Закрыть все скрытые
- : Закрыть все принудительно
-
Закрыть окно(а) фигуры.
При вызове без аргументов, закрывает текущую фигуру. Это эквивалентно
close (gcf). Если входной параметр h является дескриптором графического объекта или вектором дескрипторов, то закрывает каждую фигуру в h. Фигуру для закрытия также можно указать по имени figname, которое сопоставляется со свойством"Name"всех фигур.Если задан аргумент
"all", то закрываются все фигуры с видимыми дескрипторами (HandleVisibility ="on").Если задан дополнительный аргумент
"hidden", то закрываются все фигуры, включая скрытые.Если задан дополнительный аргумент
"force", то фигуры закрываются даже в случае, если"closerequestfcn"было изменено, чтобы предотвратить закрытие окна.Примечание по реализации:
closeработает путем назначения дескриптору h текущей фигуры и вызова функции, указанной свойством"closerequestfcn"фигуры. По умолчанию используется функцияclosereq. Возможны задержки или прерывание удаления фигуры вызываемой функцией. Чтобы удалить фигуру без выполнения каких-либо обратных вызовов, используйтеdelete. При написании функции обратного вызова для закрытия окна не используйтеclose, чтобы избежать рекурсии.
- : closereq ()
-
Закрывает текущую фигуру и удаляет все графические объекты, связанные с ней.
По умолчанию, свойство
"closerequestfcn"новой фигуры графика указывает на эту функцию.
© 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/Manipulation-of-Plot-Windows.html