zoom

Включите режим масштабирования

Описание

Режим масштабирования позволяет исследовать данные путем изменения пределов осей. В релизах перед R2018b используйте режим масштабирования для масштабирования или устранения осей. Включите и отключите режим масштабирования и установите другие основные опции, используя zoom функция. Для дальнейшего управления поведением режима масштабирования вернитесь и используйте объект масштаба.

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

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

Создание

Описание

пример

zoom option включает или отключает режим масштабирования для всех осей на текущей фигуре. Для примера, zoom on включает режим масштабирования, zoom xon включает режим масштабирования только для размерности x и zoom off отключает режим масштабирования. Дополнительные опции режима масштабирования см. в разделе option.

Когда режим масштабирования включен, чтобы уменьшить масштаб, поместите курсор туда, где вы хотите, чтобы центр осей был, и прокрутите вверх или щелкните. Чтобы уменьшить масштаб, прокрутите или удерживайте Shift и нажмите. При каждом нажатии кнопки масштабируется или уменьшается значение в 2 раза. Чтобы увеличить изображение прямоугольной области, щелкните мышью и перетащите мышью. Чтобы вернуть объект осей на уровень масштаба базовой линии, дважды щелкните внутри оси.

zoom переключение режима масштабирования. Если режим масштабирования отключен, то вызов zoom восстанавливает последний используемую опцию масштаба on, xon, или yon.

zoom(factor) изменение масштаба текущей системы координат на заданный коэффициент масштабирования без влияния на режим масштабирования. Масштабирование путем определения factor как значение, больше 1. Изменение масштаба путем определения factor как значение от 0 до 1.

zoom(fig,___) устанавливает режим масштабирования для всех осей на заданном рисунке. Задайте дополнительный аргумент следующим 'on', 'off', 'out', 'reset', 'xon', 'yon', или коэффициент масштабирования. Для примера используйте zoom(fig,'on') чтобы включить режим масштабирования для рисунка fig.

z = zoom создает объект масштаба для текущей фигуры. Этот синтаксис полезен для управления режимом масштабирования, движением и направлением.

пример

z = zoom(fig) создает объект масштаба для заданного рисунка.

Входные параметры

расширить все

Целевой рисунок, заданная как Figure объект.

Опция режима масштабирования, заданная как одно из следующих значений:

  • 'on' - Включить режим масштабирования.

  • 'off' - Выключить режим масштабирования. Некоторые встроенные взаимодействия остаются активными по умолчанию, независимо от режима. Чтобы отключить встроенные взаимодействия с масштабом, используйте disableDefaultInteractivity функция.

  • 'reset' - Установите текущий уровень масштаба как базовый уровень масштаба. Когда вы устанавливаете уровень масштаба базовой линии, вызывая zoom out, двойной клик или выбор на панели инструментов осей возвращает оси на этот уровень масштаба.

  • 'out' - Верните текущие системы координат на уровень масштаба базовой линии.

  • 'xon' - Включите режим масштабирования только для размерности x.

  • 'yon' - Включите режим масштабирования только для размерности y.

Коэффициент масштабирования, заданный как положительное число. Масштабирование путем определения factor как положительное число больше 1. Изменение масштаба путем определения factor как положительное число от 0 до 1. В этом случае масштабирование осей осуществляется путем 1/factor.

Свойства

расширить все

Размерность, позволяющая масштабировать и уменьшать, заданная как одно из следующих значений:

  • 'both' - Разрешить масштабирование в размерностях x и y.

  • 'horizontal' - Разрешить масштабирование только по размерности x.

  • 'vertical' - Разрешить масштабирование только размерности y.

Это свойство влияет только на оси в 2-D виде, например, когда вы вызываете view([0 90]). Для управления масштабом на 3-D видах используйте ZoomInteraction объект.

Направление масштабирования, заданное как одно из следующих значений:

  • 'in' - Щелкните для масштабирования.

  • 'out' - Щелкните, чтобы уменьшить масштаб изображения.

Когда режим масштабирования включен, вы всегда можете использовать колесо прокрутки, чтобы увеличить или уменьшить, независимо от значения Direction.

Режим масштабирования, заданный как 'off' или 'on'.

Контекстное меню, заданное как ContextMenu объект. Используйте это свойство для отображения контекстного меню при щелчке правой кнопкой мыши по осям, где включен режим масштабирования. Создайте контекстное меню с помощью uicontextmenu функция.

Это свойство не влияет, если RightClickAction свойство имеет значение 'InverseZoom'.

Действие, которое необходимо выполнить при щелчке правой кнопкой мыши, заданное как одно из следующих значений:

  • 'PostContextMenu' - Отобразить контекстное меню.

  • 'InverseZoom' - Масштабирование при щелчке правой кнопкой мыши.

Установка RightClickAction свойство устанавливает значение по умолчанию для будущих объектов масштабирования. Значение RightClickAction сохраняется между MATLAB® сеансов.

Функция для выполнения перед масштабированием, заданная как одно из следующих значений:

  • Указатель на функцию

  • Массив ячеек, содержащий указатель на функцию и дополнительные аргументы

  • Вектор символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

Используйте это свойство для выполнения кода при начале масштабирования. Если вы задаете это свойство с помощью указателя на функцию, то MATLAB передает два аргумента в функцию обратного вызова:

  • figure - Объект фигуры, в котором вы масштабируете.

  • axesStruct - Структура, содержащая оси, в которых вы изменяете масштаб. Эта структура имеет одно поле, Axesобъект осей, в котором вы изменяете масштаб. Если вы не используете этот аргумент в функции обратного вызова, то замените его на символ tilde (~).

Для получения дополнительной информации об коллбэках см. Раздел «Определение коллбэка»

Функция для выполнения после масштабирования, заданная как одно из следующих значений:

  • Указатель на функцию

  • Массив ячеек, содержащий указатель на функцию и дополнительные аргументы

  • Вектор символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

Используйте это свойство для выполнения кода после завершения масштабирования. Если вы задаете это свойство с помощью указателя на функцию, то MATLAB передает два аргумента в функцию обратного вызова:

  • figure - Объект фигуры, в котором вы масштабируете.

  • axesStruct - Структура, содержащая оси, в которых вы изменяете масштаб. Эта структура имеет одно поле, Axesобъект осей, в котором вы изменяете масштаб. Если вы не используете этот аргумент в функции обратного вызова, то замените его на символ tilde (~).

Для получения дополнительной информации об коллбэках см. Раздел «Определение коллбэка»

Масштабирование обратного коллбэка с подавлением, заданное как одно из следующих значений:

  • Указатель на функцию

  • Массив ячеек, содержащий указатель на функцию и дополнительные аргументы

  • Вектор символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

Используйте это свойство для подавления масштабирования при заданных условиях. Числовой или логический выход 1 (true) подавляет масштабирование и числовой или логический выход 0 (false) позволяет масштабировать. Если вы задаете это свойство с помощью указателя на функцию, то MATLAB передает два аргумента в функцию обратного вызова:

  • axes - Объект осей, в котором вы изменяете масштаб.

  • eventData - Пустой аргумент. Замените его на символ tilde (~) в определении функции, чтобы указать, что этот аргумент не используется.

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

Для получения дополнительной информации об коллбэках см. Раздел «Определение коллбэка»

Это свойство доступно только для чтения.

The Figure объект, заданный при создании объекта масштаба. Если вы не указывали рисунок, то FigureHandle - рисунок, которая была текущей при создании объекта масштаба.

Устаревший режим, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

Установка значения свойства 'on' изменяет поведение режимов взаимодействия в фигурах пользовательского интерфейса так, чтобы они совпадали с поведением режимов в традиционных рисунках. Для получения дополнительной информации см. enableLegacyExplorationModes.

Если для этого свойства задано значение 'on', его нельзя изменить назад на 'off'.

Это свойство применяется только к объектам масштаба для рисунков, созданных с помощью uifigure функция или в MATLAB Online™.

Функции объекта

Используйте функции масштабирования объекта, чтобы настроить поведение объектов осей внутри рисунка. Для всех функций объекта масштабирования оси и объекты масштаба должны быть связаны с одним и тем же рисунком.

setAllowAxesZoom

setAllowAxesZoom(z,ax,tf) устанавливает режим масштабирования для объекта осей ax согласно логическому значению в tf. Оба ax и tf должно быть скалярами.

Включение масштабирования для осей с помощью setAllowAxesZoom не включает масштабирование для рисунка. Для этого установите Enable свойство объекта масштабирования.

isAllowAxesZoom

tf = isAllowAxesZoom(z,ax) возвращает режим масштабирования для объектов осей в векторе ax как логический вектор tf. Размер tf то же, что и ax.

Возврат режима масштабирования осей с помощью isAllowAxesZoom не возвращает режим масштабирования для рисунка. Для этого получите доступ к Enable свойство объекта масштабирования.

setAxesZoomConstraint

setAxesZoomConstraint(z,ax,d) устанавливает размерность масштаба для объекта скалярных осей ax согласно размерности значению d. Задайте размерность как одно из следующих значений: 'x', 'y', 'z', 'xy', 'xz', 'yz', или 'unconstrained'. Для примера, setAxesZoomConstraint(z,ax,'xy') позволяет масштабировать только размерности x и y.

Установка размерности масштаба для осей с помощью setAxesZoomConstraint не устанавливает размерность масштаба для рисунка. Для этого установите Motion свойство объекта масштабирования.

getAxesZoomConstraint

d = getAxesZoomConstraint(z,ax) возвращает размерность масштаба d для объекта скалярных осей ax как 'x', 'y', 'z', 'xy', 'xz', 'yz', или 'unconstrained'.

Возврат размерности масштаба осей с помощью getAxesZoomConstraint не возвращает размерность масштаба для рисунка. Для этого получите доступ к Motion свойство объекта масштабирования.

setAxes3DPanAndZoomStyle

setAxes3DPanAndZoomStyle(z,ax,s) устанавливает стиль масштаба s для объектов осей в векторных ax. По умолчанию стиль масштаба следующий 'limits', который масштабируется путем изменения пределов осей. Задайте стиль масштаба следующим 'camera' изменение масштаба путем изменения угла поля зрения камеры. Для примера используйте setAxes3DPanAndZoomStyle(z,ax,'camera').

Дополнительные сведения об угле поля зрения камеры см. в разделе «Терминология графики камеры».

getAxes3DPanAndZoomStyle

s = getAxes3DPanAndZoomStyle(z,ax) возвращает стиль масштаба для объектов осей в векторном ax как массив символьных ячеек s. Элементы s возвращаются следующим 'limits' или 'camera'.

setAxesZoomMotion не рекомендуется

Эта функция не рекомендуется. Использование setAxesZoomConstraint вместо этого.

setAxesZoomMotion(z,ax,d) устанавливает размерность масштаба d для объектов осей в векторных ax. Задайте размерность масштаба следующим 'horizontal', 'vertical', или 'both'.

Масштабирование осей размерности которое определяется setAxesZoomMotion не совпадает с размерностью масштаба рисунка, заданным с помощью Motion свойство.

getAxesZoomMotion не рекомендуется

Эта функция не рекомендуется. Использование setAxesZoomConstraint вместо этого.

d = getAxesZoomMotion(z,ax) возвращает размерности масштаба для объектов осей в векторных ax как массив символьных ячеек d. Элементы d возвращаются следующим 'horizontal', 'vertical', или 'both'.

Масштабирование осей размерности которое возвращается с помощью getAxesZoomMotion не совпадает с размерностью масштаба рисунка, который возвращается с помощью Motion свойство.

Примеры

свернуть все

Постройте график некоторых данных, увеличьте изображение, а затем установите уровень масштаба базовой линии. Будущие звонки в zoom out возвращает оси к заданному уровню масштаба базовой линии.

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

[X,Y,Z] = peaks(20);
surf(X,Y,Z)
zoom on

A surface with several peaks

Масштабируйте самый высокий пик, нажав на него. Затем установите уровень масштаба базовой линии.

zoom reset

The surface zoomed into the tallest peak

Увеличьте изображение максимального пика во второй раз, затем вызовите zoom out.

zoom out
Оси возвращаются к заданному уровню масштаба базовой линии.

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

Сначала получите координаты предопределенной поверхности и постройте их график.

[X,Y,Z] = peaks(20);
surf(X,Y,Z)

A surface with several peaks

Создайте контекстное меню с помощью uicontextmenu функция. Затем добавьте элемент в меню. Задайте метку и коллбэк, которые закрывают рисунок.

cm = uicontextmenu;
m = uimenu(cm);
m.Label = 'Close figure';
f = gcf;
m.Callback = @(src,event)close(f);

Создайте объект масштаба. Добавьте контекстное меню к объекту масштаба путем установки его ContextMenu свойство. Затем включите режим масштабирования.

z = zoom(f);
z.ContextMenu = cm;
z.Enable = 'on';

Закройте рисунок, щелкнув правой кнопкой мыши и выбрав Close figure.

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2020a

Представлено до R2006a