Main Content

플롯과 그래프의 클리핑(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])