exponenta event banner

увеличение масштаба изображения

Включить режим зумирования

Описание

Режим зумирования позволяет исследовать данные путем изменения пределов осей. В версиях до 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, объект осей, в котором выполняется масштабирование. Если этот аргумент не используется в функции обратного вызова, замените его символом тильды (~).

Дополнительные сведения о обратных вызовах см. в разделе Определение обратного вызова.

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

  • Дескриптор функции

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

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

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

  • figure - Фигурный объект, в котором выполняется масштабирование.

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

Дополнительные сведения о обратных вызовах см. в разделе Определение обратного вызова.

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

  • Дескриптор функции

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

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

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

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

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

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

Дополнительные сведения о обратных вызовах см. в разделе Определение обратного вызова.

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

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

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

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

Как только для этого свойства будет установлено значение 'on', его нельзя изменить обратно на 'off'.

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

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

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

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';

Закройте фигуру, щелкнув правой кнопкой мыши и выбрав «Закрыть фигуру».

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

развернуть все

Не рекомендуется начинать с R2020a

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