좌표축 레이아웃 제어하기

좌표축 위치 관련 속성

Axes 객체에는 Figure 내에서 좌표축 크기와 제목 및 축 레이블의 레이아웃을 제어할 수 있는 여러 속성이 있습니다.

  • OuterPosition — 제목, 레이블, 여백을 포함한 좌표축의 외부 경계입니다. 이 속성은 [left bottom width height] 형식의 벡터로 지정됩니다. left 값과 bottom 값은 Figure의 왼쪽 아래 코너에서 외부 경계의 왼쪽 아래 코너까지의 거리를 나타냅니다. width 값과 height 값은 외부 경계 치수를 나타냅니다.

  • Position — 제목, 레이블, 여백을 제외하고 플롯이 표시되는 좌표축의 내부 경계입니다. 이 속성은 [left bottom width height] 형식의 벡터로 지정됩니다.

  • TightInsetPosition 속성값의 너비와 높이에 추가된 여백으로, [left bottom right top] 형식의 벡터로 지정됩니다. 이 속성은 읽기 전용입니다. 축 레이블과 제목을 추가하면 MATLAB®이 텍스트에 맞게 값을 업데이트합니다. Position 속성과 TightInset 속성으로 정의되는 경계의 크기에는 모든 그래프 텍스트가 포함됩니다.

  • ActivePositionPropertyAxes 객체의 크기를 변경할 때 유지되는 위치 속성으로, 'outerposition'(디폴트 값) 또는 'position'으로 지정됩니다.

  • Units — 위치 단위입니다. 자동 좌표축 크기 조정을 사용하려면 이 단위가 'normalized'(디폴트 값)로 설정되어야 합니다. 위치 단위가 인치 또는 센티미터와 같은 길이 단위인 경우 Axes 객체는 고정된 크기의 객체입니다.

위치와 여백 경계

이 Figure에서는 OuterPosition 값(빨간색), Position 값(파란색), TightInset으로 확장된 Position 값(자홍색)으로 정의된 좌표축 영역의 2차원 보기를 보여줍니다.

이 Figure에서는 OuterPosition 값(빨간색), Position 값(파란색), TightInset으로 확장된 Position 값(자홍색)으로 정의된 좌표축 영역의 3차원 보기를 보여줍니다.

자동 크기 조정 동작 제어하기

경우에 따라 Axes 객체가 자동으로 크기 조정하도록 트리거될 수 있습니다. 예를 들어, 대화형 방식으로 Figure의 크기를 조정하거나 제목이나 축 레이블을 추가하면 자동 크기 조정이 활성화됩니다. 때때로 새로운 좌표축 크기가 Position 값과 OuterPosition 값을 모두 충족하지 못할 수 있으므로 ActivePositionProperty는 유지할 값을 표시합니다. ActivePositionProperty를 다음 값 중 하나로 지정합니다.

  • 'outerposition'OuterPosition 값을 유지합니다. 좌표축이나 다른 주변 텍스트가 특정 외부 경계를 넘어서 확장되지 않도록 하려면 이 옵션을 사용하십시오. MATLAB은 내용이 외부 경계 내에 피팅되도록 좌표축 내부 영역(플롯이 표시되는 영역)의 크기를 조정합니다.

  • 'position'Position 값을 유지합니다. 좌표축의 내부 영역이 Figure 내에서 특정 크기를 유지하도록 하려면 이 옵션을 사용하십시오. 이 옵션을 사용하면 경우에 따라 텍스트가 Figure를 벗어날 수 있습니다.

일반적으로 ActivePositionProperty 값을 'outerposition'으로 설정하는 것이 바람직합니다. 좌표축 제목이나 레이블이 지나치게 길 경우 좌표축 내부 영역이 읽기 어려울 정도로 축소될 수 있습니다. 이 경우 주변 텍스트가 Figure를 벗어나더라도 내부 좌표축을 특정 크기로 유지하는 것이 바람직할 수 있습니다.

예를 들어, 좌표축이 2개인 Figure를 만들고 각 좌표축 위치의 너비와 높이를 똑같이 지정합니다. ActivePositionProperty 값을 상부 좌표축에 대해서는 'outerposition'으로 설정하고 하부 좌표축에 대해서는 'position'으로 설정합니다. 상부 좌표축에서는 내부 영역이 텍스트에 맞게 축소되지만, 텍스트가 Figure 밖으로 벗어나지 않습니다. 하부 좌표축에서는 내부 영역의 크기가 유지되지만, 일부 텍스트가 잘립니다.

figure; 
ax1 = axes('Position',[0.13 0.58 0.77 0.34]);
ax1.ActivePositionProperty = 'outerposition';
plot(ax1,1:10)
title(ax1,'Preserve OuterPosition')
yticklabels(ax1,{'My incredibly descriptive, excessively wordy, and overly long label',...
    'label 2','label 3'})

ax2 = axes('Position',[0.13 0.11 0.77 0.34]);
ax2.ActivePositionProperty = 'position';
plot(ax2,1:10)
title(ax2,'Preserve Position')
yticklabels(ax2,{'My incredibly descriptive, excessively wordy, and overly long label',...
    'label 2','label 3'})

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

기본적으로, MATLAB은 좌표축을 늘여서 사용 가능한 공간을 채웁니다. “늘여서 채우기” 동작을 사용하면 왜곡이 어느 정도 발생할 수 있습니다. 따라서 좌표축이 DataAspectRatio 속성, PlotBoxAspectRatio 속성, CameraViewAngle 속성에 저장된 데이터 종횡비 값, 플롯 상자 종횡비 값, 카메라 시야각 값과 정확하게 일치하지 않을 수 있습니다. Axes 객체의 DataAspectRatioMode, PlotBoxAspectRatioMode, CameraViewAngleMode 속성이 'auto'로 설정되면 “늘여서 채우기” 동작이 활성화됩니다.

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

예를 들어, 다음 Figure에서는 동일한 플롯을 “늘여서 채우기” 동작이 활성화된 상태에서 표시한 모습과 비활성화된 상태에서 표시한 모습을 보여줍니다. 점선은 Position 속성으로 정의된 사용 가능한 공간을 보여줍니다. 두 버전 모두에서 데이터 종횡비 값, 플롯 상자 종횡비 값, 카메라 시야각 값은 동일합니다. 그러나 왼쪽 플롯에서는 늘이기 동작으로 인해 어느 정도 왜곡이 발생합니다.

늘여서 채우기 활성화(일부 왜곡 발생)늘여서 채우기 비활성화(왜곡 없음)

참고 항목

함수

속성

관련 항목