exponenta event banner

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 объект. 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 делает оси максимально большими в пределах доступного пространства и строго придерживается значений свойств. Искажений нет. Дополнительные сведения см. в разделе Компоновка управляющих осей.

Алгоритмы

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

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

  • DataAspectRatioMode - Свойство, сохраняющее режим отношения сторон данных. При установке отношения это свойство изменяется на 'manual'.

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