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 object. The axes object 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 object. The axes object 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 object. The axes object contains an object of type scatter.

pbaspect auto

Figure contains an axes object. The axes object 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 object. The axes object 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 objects. Axes object 1 contains an object of type surface. Axes object 2 contains an object of type surface.

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

свернуть все

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

Определение отношения устанавливает PlotBoxAspectRatio свойство для Axes возразите против заданного значения. PlotBoxAspectRatio свойство взаимодействует с DataAspectAspectRatioxlim 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Графическое изображение соотношения сторон поля, и CameraViewAngle свойства.

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

Алгоритмы

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

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

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

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