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])

Figure contains an axes. The axes contains an object of type line.

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

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

Figure contains an axes. The axes contains an object of type line.

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

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])

Figure contains an axes. The axes contains an object of type scatter.

daspect auto

Figure contains an axes. The axes contains an object of type scatter.

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

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

Figure contains an axes. The axes contains an object of type surface.

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])

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

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

свернуть все

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

Установка соотношения сторон данных устанавливает DataAspectRatio свойство для Axes объект. The DataAspectRatio свойство взаимодействует со PlotBoxAspectRatio, XLim, 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, PlotBoxAspectRatio, и CameraViewAngle свойства.

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

Алгоритмы

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

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

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

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