Main Content

daspect

각 축의 데이터 단위(Data Unit) 길이 제어

설명

예제

daspect(ratio)는 현재 좌표축의 데이터 종횡비를 설정합니다. 데이터 종횡비는 x축, y축, z축의 데이터 단위의 상대적 길이입니다. ratio는 양의 값 요소를 3개 가진 벡터이며, 요소는 각 축의 데이터 단위의 상대적 길이를 나타냅니다. 예를 들어, [1 2 3]x축의 0에서 1까지의 길이가 y축의 0에서 2까지의 길이와 z축의 0에서 3까지의 길이와 같음을 나타냅니다. 모든 방향에서 데이터 단위 길이가 같은 경우에는 [1 1 1]을 사용하십시오.

예제

d = daspect는 현재 좌표축의 데이터 종횡비를 반환합니다.

예제

daspect auto는 자동 모드를 설정하여 좌표축이 데이터 종횡비를 선택할 수 있도록 합니다. 좌표축의 “늘여서 채우기(Stretch-To-Fill)” 기능을 활성화하려면 해당 모드가 'auto'여야 합니다.

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

예제

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

예제

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

데이터 세트를 플로팅합니다. x축 방향의 한 데이터 단위(Data Unit)의 길이가 y축 방향과 z축 방향(표시되지 않음)의 두 데이터 단위의 길이와 같도록 데이터 종횡비를 설정합니다.

t = linspace(0,2*pi);
x = cos(t);
y = sin(t);
plot(x,y)
daspect([1 2 2])

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

데이터 종횡비를 설정하면 연결된 모드가 'manual'로 변경됩니다. 현재 데이터 종횡비 모드를 쿼리합니다.

d = daspect('mode')
d = 
'manual'

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

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

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

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

d = daspect
d = 1×3

     4     4     1

이 비율은 x축 방향의 네 단위 길이가 y축 방향의 네 단위 길이와 z축 방향의 한 단위 길이와 같음을 나타냅니다. 예를 들어, 비율이 [4 4 1]이면 x축의 0에서 1까지의 길이가 y축의 0에서 1까지의 길이와 z축의 0에서 0.25까지의 길이와 같습니다.

좌표축 ax1ax2를 포함하는 2×1 타일 형식 차트 레이아웃을 만듭니다. 좌표축에 플로팅하고, ax2daspect 함수에 대한 첫 번째 입력 인수로 지정하여 하부 플롯의 데이터 종횡비를 설정합니다.

tiledlayout(2,1)
ax1 = nexttile;
plot(ax1,1:10)

ax2 = nexttile;
plot(ax2,1:10)
daspect(ax2,[1 2 1])

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

입력 인수

모두 축소

데이터 종횡비로, 양의 값 요소를 3개 가진 벡터로 지정됩니다. 예를 들어, daspect([1 2 3])x축의 한 단위의 길이가 y축의 두 단위의 길이와 z축의 세 단위의 길이와 같음을 지정합니다.

데이터 종횡비를 지정하면 Axes 객체의 DataAspectRatio 속성이 설정됩니다. DataAspectRatio 속성은 PlotBoxAspectRatio, XLim, YLim, ZLim 속성과 상호 작용하여 x축, y축, z축의 길이와 스케일을 제어합니다.

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

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

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

출력 인수

모두 축소

현재 데이터의 종횡비로, x축, y축, z축의 데이터 단위(Data Unit) 길이의 비율을 나타내는 값으로 구성된, 요소를 3개 가진 벡터로 반환됩니다.

데이터 종횡비를 쿼리하면 해당 Axes 객체의 DataAspectRatio 속성값이 반환됩니다.

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

데이터 종횡비 모드를 쿼리하면 해당 Axes 객체의 DataAspectRatioMode 속성값이 반환됩니다.

세부 정보

모두 축소

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

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

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

알고리즘

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

  • DataAspectRatio — 데이터 종횡비 값이 저장되는 속성입니다.

  • DataAspectRatioMode — 데이터 종횡비 모드가 저장되는 속성입니다. 종횡비를 설정하면 이 속성이 'manual'로 바뀝니다.

버전 내역

R2006a 이전에 개발됨