Main Content

그래프 표시 제어

제어할 수 있는 항목

MATLAB®에서는 한 세션에서 여러 개의 Figure 창을 동시에 열 수 있습니다. 플로팅 함수의 결과를 표시하는데 MATLAB이 어떤 Figure와 좌표축을 사용할지 제어할 수 있습니다. 또한 MATLAB이 대상 Figure 및 좌표축의 속성을 해제하고 재설정하는 범위도 제어할 수 있습니다.

MATLAB 플로팅 함수가 동작하는 방법을 수정하고 작성하는 플로팅 함수에 특정 동작을 구현할 수 있습니다.

다음 측면을 고려하십시오.

  • 특정 Figure 또는 좌표축이 그래프를 표시할 대상이 되지 않도록 할 수 있습니까?

  • 기존 그래프에 추가 데이터를 플로팅하면 그 그래프에 어떤 일이 발생합니까? 기존 그래프가 대체되거나 새 그래픽스 객체가 기존 그래프에 추가됩니까?

특정 Figure 및 좌표축 대상 지정

기본적으로, MATLAB 플로팅 함수는 현재 Figure와 현재 좌표축(각각 gcfgca로 반환되는 객체)에 그래프를 표시합니다. 다음과 같은 방법으로 출력값을 다른 Figure 및 좌표축으로 전달할 수 있습니다.

  • 플로팅 함수를 사용하여 대상 좌표축을 명시적으로 지정

  • 대상 좌표축을 현재 좌표축으로 지정

대상 좌표축 지정하기

두 개의 좌표축 ax1ax2가 있는 Figure를 만든다고 가정하겠습니다.

tiledlayout(1,2)
ax1 = nexttile;
ax2 = nexttile;

axes 객체를 첫 번째 인수로 사용하여 plot을 호출합니다.

plot(ax1,1:10)

좌표축을 첫 번째 인수로 지원하지 않는 플로팅 함수에 대해서는 Parent 속성을 설정합니다.

t = 0:pi/5:2*pi;
patch(sin(t),cos(t),'y','Parent',ax2)

대상을 현재 대상으로 지정하기

대상을 지정하려면 Figure를 현재 Figure로 설정하고 해당 Figure의 좌표축을 현재 좌표축으로 설정합니다. 플로팅 함수는 현재 Figure와 해당 현재 좌표축을 기본적으로 사용합니다. 현재 Figure에 현재 좌표축이 없을 경우 MATLAB은 좌표축을 생성합니다.

fig가 Figure에 대한 핸들일 경우 다음 명령문은 아래와 같은 작업을 수행합니다.

figure(fig)
  • fig를 현재 Figure로 설정합니다.

  • fig를 제일 앞쪽에 표시되는 Figure로 설정합니다.

  • fig가 보이지 않을 경우 보이게 설정합니다(Visible 속성을 'on'으로 설정).

  • Figure 표시를 업데이트하고 보류 중인 콜백을 모두 처리합니다.

동일한 동작이 좌표축에 적용됩니다. ax가 좌표축에 대한 핸들일 경우 다음 명령문은 아래와 같은 작업을 수행합니다.

axes(ax)
  • ax를 현재 좌표축으로 설정합니다.

  • ax를 제일 앞쪽에 표시되는 좌표축으로 설정합니다.

  • ax가 보이지 않을 경우 보이게 설정합니다.

  • 좌표축을 포함하는 Figure를 업데이트하고 보류 중인 콜백을 모두 처리합니다.

다른 상태를 변경하지 않고 Figure나 좌표축을 현재 Figure나 좌표축으로 설정

객체 상태의 다른 특성은 변경되지 않도록 하고 Figure나 좌표축을 현재 Figure나 좌표축으로 설정할 수 있습니다. 루트 CurrentFigure 속성이나 Figure 객체의 CurrentAxes 속성을 대상으로 지정할 Figure나 좌표축의 핸들로 설정합니다.

fig가 기존 Figure에 대한 핸들일 경우 다음 명령문은 아래와 같은 작업을 수행합니다.

r = groot;
r.CurrentFigure = fig;

fig를 현재 Figure로 설정합니다. 이와 유사하게, ax가 axes 객체의 핸들일 경우 다음 명령문은 아래와 같은 작업을 수행합니다.

fig.CurrentAxes = ax;

fig가 axes의 부모 Figure의 핸들일 경우 이를 현재 axes로 설정합니다.