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'сброс, '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 размерность только.

Это свойство только влияет на оси в 2D представлении, такой как тогда, когда вы вызываете 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 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа 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'YZx, y , 'xz', 'yz', или 'unconstrained'. Например, setAxesZoomConstraint(z,ax,'xy') позволяет вам увеличивать масштаб размерности X и Y только.

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

getAxesZoomConstraint

d = getAxesZoomConstraint(z,ax) возвращает размерность изменения масштаба d для скалярного объекта осей ax как 'x'YZx, y , '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