exponenta event banner

pbaspect

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

Описание

пример

pbaspect(ratio) задает пропорции поля печати для текущих осей. Отношение сторон поля графика - это относительная длина осей X, Y и Z. Определить ratio в виде трехэлементного вектора положительных значений, представляющих отношение длин осей X, Y и Z. Например, [3 1 1] указывает, что длина оси X равна трехкратной длине осей Y и Z. Для одинаковых длин осей во всех направлениях используйте [1 1 1].

пример

pb = pbaspect возвращает пропорции поля печати для текущих осей.

пример

pbaspect auto устанавливает автоматический режим, позволяя осям выбирать соответствующее соотношение сторон поля печати. Режим должен быть автоматическим, чтобы включить функцию «растяжение-заливка» осей.

pbaspect manual устанавливает ручной режим и использует отношение, сохраненное в PlotBoxAspectRatio имущества Axes объект. При ручном режиме функция растяжения до заливки осей отключается. При задании значения пропорции поля печати режим задается вручную.

пример

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

пример

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

Примеры

свернуть все

Создание простого линейного графика. Задайте равные длины осей X, Y и Z (не показаны).

x = linspace(0,10);
y = sin(x);
plot(x,y)
pbaspect([1 1 1])

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

Постройте график поверхности и сделайте ось X вдвое длиннее осей Y и Z.

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

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

При задании пропорции поля печати соответствующий режим изменяется на ручной. Запрос текущего режима пропорций окна печати.

m = pbaspect('mode')
m = 
'manual'

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

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

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

pbaspect 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.

Запрос соотношения сторон окна печати. Значения указывают отношение длины оси X к длине оси Y к длине оси Z.

pb = pbaspect
pb = 1×3

    1.0000    0.9419    0.8518

Начиная с R2019b, можно отобразить мозаику графиков с помощью tiledlayout и nexttile функции. Позвоните в tiledlayout для создания компоновки мозаичной диаграммы «2 на 1». Позвоните в nexttile для создания объектов осей ax1 и ax2. Постройте график в каждой из осей. Затем задайте соотношение сторон поля графика для нижнего графика, указав ax2 в качестве первого входного аргумента для pbaspect функция.

tiledlayout(2,1)
ax1 = nexttile;
mesh(peaks(20))

ax2 = nexttile;
mesh(peaks(20))
pbaspect(ax2,[2 2 1])

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

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

свернуть все

График соотношения сторон прямоугольника, заданного как трехэлементный вектор положительных значений. Например, pbaspect([3 2 1]) указывает, что отношение длины оси X к длине оси Y к длине оси Z равно 3 2 к 1. Таким образом, ось X является самой длинной, а ось Z - самой короткой.

Задание наборов соотношений PlotBoxAspectRatio для свойства Axes объект с указанным значением. PlotBoxAspectRatio свойство взаимодействует с DataAspectAspectRatio, XLim, YLim, и ZLim свойства для управления длиной и масштабом оси X, оси Y и оси Z.

Задание наборов соотношений PlotBoxAspectRatioMode свойство для 'manual' и отключает режим растяжения-заливки осей.

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

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

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

свернуть все

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

Запрос отношения сторон поля графика возвращает значение PlotBoxAspectRatio значение свойства для Axes объект.

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

Запрос режима отношения сторон поля графика возвращает значение PlotBoxAspectRatioMode значение свойства для Axes объект.

Подробнее

свернуть все

Растяжение до заливки

Если включено поведение «растягивание-заливка», MATLAB растягивает оси для заполнения доступного пространства. Оси могут не совсем совпадать с соотношением сторон данных, соотношением сторон окна графика и значениями угла обзора камеры, хранящимися в нем. DataAspectRatio, PlotBoxAspectRatio, и CameraViewAngle свойства.

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

Алгоритмы

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

  • PlotBoxAspectRatio - свойство, сохраняющее значение отношения сторон поля печати.

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

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