Main Content

pbaspect

각 축의 상대적 길이 제어

설명

예제

pbaspect(ratio)는 현재 좌표축의 플롯 상자 종횡비를 설정합니다. 플롯 상자 종횡비는 x축, y축, z축의 상대적 길이입니다. ratiox축, y축, z축 길이의 비율을 나타내는 요소를 3개 가진 양수 값의 벡터로 지정합니다. 예를 들어, [3 1 1]x축의 길이가 y축과 z축 길이의 3배임을 지정합니다. 모든 방향에서 축 길이를 같게 하려면 [1 1 1]을 사용하십시오.

예제

pb = pbaspect는 현재 좌표축의 플롯 상자 종횡비를 반환합니다.

예제

pbaspect auto는 자동 모드를 설정하여 좌표축이 적절한 플롯 상자 종횡비를 선택할 수 있도록 합니다. 좌표축의 “늘여서 채우기” 기능을 활성화하려면 해당 모드가 'auto'여야 합니다.

pbaspect manual은 수동 모드를 설정하고 Axes 객체의 PlotBoxAspectRatio 속성에 저장된 종횡비를 사용합니다. 모드가 'manual'인 경우 좌표축의 늘여서 채우기(Stretch-To-Fill) 기능이 비활성화됩니다. 플롯 상자 종횡비에 값을 지정하면 모드가 'manual'로 설정됩니다.

예제

m = pbaspect('mode')는 현재 모드 즉, 'auto''manual'을 반환합니다. 플롯 상자 종횡비를 지정하지 않거나 모드를 'manual'로 설정하지 않는 한 이 모드는 기본적으로 'auto'로 설정됩니다.

예제

___ = 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축의 2배로 합니다.

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

플롯 상자 종횡비를 지정하면 연결된 모드가 'manual'로 변경됩니다. 현재 플롯 상자 종횡비 모드를 쿼리합니다.

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

랜덤 데이터로 구성된 3차원 산점도 차트를 만들고 플롯 상자 종횡비를 설정합니다. 그런 다음 디폴트 플롯 상자 종횡비로 되돌립니다.

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.9411    0.8496

R2019b부터는 tiledlayout 함수와 nexttile 함수를 사용하여 플롯을 타일 형식 배열로 표시할 수 있습니다. tiledlayout 함수를 호출하여 2×1 타일 형식 차트 레이아웃을 만듭니다. nexttile 함수를 호출하여 axes 객체 ax1ax2를 만듭니다. 각 좌표축에 플로팅합니다. 그런 다음, ax2pbaspect 함수에 대한 첫 번째 입력 인수로 지정하여 하부 플롯의 플롯 상자 종횡비를 설정합니다.

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.

입력 인수

모두 축소

플롯 상자 종횡비로, 양의 값 요소를 3개 가진 벡터로 지정됩니다. 예를 들어, pbaspect([3 2 1])x축 길이 대 y축 길이 대 z축 길이의 비율이 3:2:1임을 지정합니다. 따라서, x 축이 가장 길고 z 축이 가장 짧습니다.

이 비율을 지정하면 Axes 객체의 PlotBoxAspectRatio 속성이 지정한 값으로 설정됩니다. PlotBoxAspectRatio 속성은 DataAspectAspectRatio, XLim, YLim, ZLim 속성과 상호 작용하여 x축, y축, z축의 길이와 스케일을 제어합니다.

종횡비를 지정하면 PlotBoxAspectRatioMode 속성이 'manual'로 설정되며, 좌표축의 늘여서 채우기(Stretch-To-Fill) 동작이 비활성화됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

대상 좌표축으로, Axes 객체로 지정됩니다. 좌표축을 지정하지 않으면 pbaspect은 현재 좌표축(gca)을 사용합니다.

출력 인수

모두 축소

현재 플롯 상자 종횡비로, x축, y축, z축 길이의 비율을 나타내는 값으로 구성된, 요소를 3개 가진 벡터로 반환됩니다.

플롯 상자 종횡비를 쿼리하면 Axes 객체에 대한 PlotBoxAspectRatio 속성값이 반환됩니다.

현재 데이터의 종횡비 모드로, 'auto''manual'로 반환됩니다. 모드가 'auto'인 경우 MATLAB®이 적절한 플롯 상자 종횡비 값을 결정합니다. 값을 지정할 경우 모드가 'manual'로 변경됩니다.

플롯 상자 종횡비 모드를 쿼리하면 Axes 객체에 대한 PlotBoxAspectRatioMode 속성값이 반환됩니다.

세부 정보

모두 축소

늘여서 채우기(Stretch-To-Fill)

“늘여서 채우기” 동작이 활성화된 경우 MATLAB에서 좌표축을 늘여서 사용 가능한 공간을 채웁니다. 좌표축이 해당 DataAspectRatio 속성, PlotBoxAspectRatio 속성, CameraViewAngle 속성에 저장된 데이터 종횡비 값, 플롯 상자 종횡비 값, 카메라 시야각 값과 정확하게 일치하지 않을 수 있습니다.

데이터 종횡비, 플롯 상자 종횡비 또는 카메라 시야각을 지정할 경우, “늘여서 채우기” 동작은 비활성화됩니다. “늘여서 채우기”가 비활성화된 경우 MATLAB에서는 좌표축을 사용 가능한 공간 내에서 가능한 한 크게 만들고 왜곡이 없도록 속성값을 엄격히 준수합니다. 자세한 내용은 좌표축 레이아웃 제어하기 항목을 참조하십시오.

알고리즘

pbaspect 함수는 데이터 종횡비에 관한 여러 axes 속성을 설정하고 쿼리합니다.

  • PlotBoxAspectRatio — 플롯 상자 종횡비 값을 저장하는 속성입니다.

  • PlotBoxAspectRatioMode — 플롯 상자 종횡비 모드를 저장하는 속성입니다. 종횡비를 설정하면 이 속성이 'manual'로 바뀝니다.

버전 내역

R2006a 이전에 개발됨