daspect

Управляйте единичной длиной данных вдоль каждой оси

Описание

пример

daspect(ratio) устанавливает соотношение сторон данных для текущей системы координат. Соотношение сторон данных является относительной длиной модулей данных вдоль оси X, оси Y и оси z. Задайте ratio как трехэлементный вектор из положительных значений, которые представляют относительные длины модулей данных вдоль каждой оси. Например, [1 2 3] указывает, что длина от 0 до 1 вдоль оси X равна длине от 0 до 2 вдоль оси Y и от 0 до 3 вдоль оси z. Для равных единичных длин данных во всех направлениях используйте [1 1 1].

пример

d = daspect возвращает соотношение сторон данных для текущей системы координат.

пример

daspect auto устанавливает автоматический режим, позволяя осям выбрать соотношение сторон данных. Режим должен быть автоматическим, чтобы включить "растянуть для заполнения" функция осей.

daspect manual устанавливает ручной режим и использует отношение, сохраненное в DataAspectRatio свойство для Axes объект. Когда режим является ручным, он отключает "растянуть для заполнения" поведение осей. Определение значения для соотношения сторон данных устанавливает режим вручную.

пример

m = daspect('mode') возвращает текущий режим, который является любой 'auto' или 'manual'. По умолчанию режим является автоматическим, если вы не задаете соотношение сторон данных или устанавливаете режим вручную.

пример

___ = daspect(ax,___) использует оси, заданные ax вместо текущей системы координат. Задайте оси как первый входной параметр для любого из предыдущих синтаксисов. Используйте одинарные кавычки вокруг 'auto' и 'manual' входные параметры.

Примеры

свернуть все

Постройте набор данных. Используйте модули данных равных длин во всех направлениях путем установки соотношения сторон данных на [1 1 1].

t = linspace(0,2*pi);
x = cos(t);
y = sin(t);
plot(x,y)
daspect([1 1 1])

Постройте набор данных. Установите соотношение сторон данных так, чтобы длина одного модуля данных в направлении оси X равнялась длине двух модулей данных в направлении оси Y и направлении оси z (не показанный).

t = linspace(0,2*pi);
x = cos(t);
y = sin(t);
plot(x,y)
daspect([1 2 2])

Когда вы устанавливаете соотношение сторон данных, связанный режим превращается в руководство. Запросите текущий режим соотношения сторон данных.

d = daspect('mode')
d = 
'manual'

Создайте 3-D диаграмму поля точек случайных данных и установите соотношение сторон данных. Затем вернитесь назад к соотношению сторон данных по умолчанию.

X = rand(100,1);
Y = rand(100,1);
Z = rand(100,1);
scatter3(X,Y,Z)
daspect([3 2 1])

daspect auto

Создайте объемную поверхностную диаграмму и запросите соотношение сторон данных.

[x,y] = meshgrid(-2:.2:2);
z = x.*exp(-x.^2 - y.^2);
surf(x,y,z)

d = daspect
d = 1×3

     4     4     1

Отношение указывает, что длина четырех модулей в направлении оси X равняется четырем модулям в направлении оси Y и одному модулю в направлении оси z. Например, если отношением является [4 4 1], затем длина от 0 до 1 на оси X равняется длине от 0 до 1 на оси Y и 0 к 0,25 на оси z.

Создайте 2 1 мозаичное размещение графика, содержащее оси ax1 и ax2. Постройте в оси и установите соотношение сторон данных для более низкого графика путем определения ax2 как первый входной параметр к daspect функция.

tiledlayout(2,1)
ax1 = nexttile;
plot(ax1,1:10)

ax2 = nexttile;
plot(ax2,1:10)
daspect(ax2,[1 2 1])

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

свернуть все

Соотношение сторон данных в виде трехэлементного вектора из положительных значений. Например, daspect([1 2 3]) указывает, что длина одного модуля вдоль оси X равняется длине двух модулей вдоль оси Y и трех модулей вдоль оси z.

Определение соотношения сторон данных устанавливает DataAspectRatio свойство для Axes объект. DataAspectRatio свойство взаимодействует с PlotBoxAspectRatioxlim ylim, и ZLim свойства управлять длиной и шкалой оси X, оси Y и оси z.

Определение отношения устанавливает DataAspectRatioMode свойство к 'manual' и отключает "растянуть для заполнения" поведение осей.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Целевые оси в виде Axes объект. Если вы не задаете оси, то daspect использует текущую систему координат (gca).

Выходные аргументы

свернуть все

Текущее соотношение сторон данных, возвращенное как трехэлементный вектор из значений, представляющих отношение оси X, оси Y и z единичных длин данных.

Запрос соотношения сторон данных возвращает DataAspectRatio значение свойства для соответствующего Axes объект.

Текущий режим соотношения сторон данных, возвращенный как любой 'auto' или 'manual'. Когда режим является автоматическим, MATLAB® определяет соответствующее значение соотношения сторон данных. Если вы задаете значение, то режим превращается в руководство.

Запрос режима соотношения сторон данных возвращает DataAspectRatioMode значение свойства для соответствующего Axes объект.

Больше о

свернуть все

"Растянуть для заполнения"

Когда "растянуть для заполнения" поведение включено, MATLAB расширяет оси, чтобы заполнить свободное место. Оси не могут точно совпадать с соотношением сторон данных, соотношением сторон поля графика и угловыми значениями поля зрения камеры, сохраненными в его DataAspectRatioГрафическое изображение соотношения сторон поля, и CameraViewAngle свойства.

Если вы задаете соотношение сторон данных, строите соотношение сторон поля или угол поля зрения камеры, то "растянуть для заполнения" поведение отключено. Когда поведение отключено, MATLAB делает оси как можно больше в свободном месте и строго придерживается значений свойств. Нет никакого искажения. Для получения дополнительной информации смотрите Размещение Осей Управления.

Алгоритмы

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

  • DataAspectRatio — Свойство, которое хранит значение соотношения сторон данных.

  • DataAspectRatioMode — Свойство, которое хранит режим соотношения сторон данных. Когда вы устанавливаете отношение, это свойство превращается в 'manual'.

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