플롯과 그래프의 클리핑(Clipping)
이 예제에서는 MATLAB®이 플롯에서 클리핑을 사용하는 방법과 클리핑을 제어하는 방법을 보여줍니다.
클리핑이란?
클리핑은 플롯의 일부가 좌표축의 경계 바깥에 있을 경우 발생합니다. MATLAB®에서 잘린 플롯의 일부는 화면이나 인쇄된 출력물에 나타나지 않습니다. 축 경계는 플롯의 축 제한에 의해 결정됩니다.
클리핑 해제하기
기본적으로 MATLAB은 좌표축 제한의 바깥으로 연장되는 플롯을 자릅니다.
figure surf(peaks) zlim([-4 4])
좌표축의 Clipping
속성을 사용하여 클리핑 동작을 제어할 수 있습니다.
ax = gca; % get the current axis ax.Clipping = 'off'; % turn clipping off
클리핑 스타일 제어
ClippingStyle
속성을 사용하여 클리핑이 작동하는 방식을 제어합니다. ClippingStyle
이 '3dbox'
로 설정된 경우 MATLAB은 x축, y축, z축의 제한으로 정의된 볼륨에 맞게 플롯을 자릅니다. ClippingStyle
이 'rectangle'
로 설정된 경우 MATLAB은 x축, y축, z축의 바깥쪽 둘레에 그려진 가상의 사각형에 맞게 플롯을 자릅니다. 아래 플롯은 두 가지 클리핑 스타일 간의 차이를 보여줍니다.
2차원 플롯의 클리핑
클리핑은 2차원 플롯에서도 사용됩니다. 예를 들어, 아래 플롯에서 MATLAB은 사인파를 자릅니다.
x = -pi:pi/20:pi; y = sin(-pi:pi/20:pi); plot(x,y) ylim([-0.9 0.9])
클리핑 설정이 해제되어 있으면 MATLAB은 전체 사인파를 표시합니다.
ax = gca;
ax.Clipping = 'off';
클리핑과 마커
클리핑은 데이터 점 자체가 플롯의 x축 제한과 y축 제한 안쪽에 있는 한, 각 데이터 점에 그려지는 마커에 영향을 주지 않습니다. 마커가 좌표축 경계 바깥으로 약간 벗어나는 경우에도 MATLAB은 전체 마커를 표시합니다.
p = plot(1:10,'*');
p.MarkerSize = 10;
axis([1 10 1 10])