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 объект с заданным значением. The 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 делает оси максимально большими в пределах доступного пространства и строго придерживается значений свойств, чтобы не было искажений. Для получения дополнительной информации см. Раздел «Размещение осей управления».

Алгоритмы

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

  • PlotBoxAspectRatio - Свойство, которое хранит значение соотношения сторон прямоугольного графика.

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

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