Main Content

close

하나 이상의 Figure 닫기

설명

예제

close는 현재 Figure를 닫습니다. close를 호출하는 것은 close(gcf)를 호출하는 것과 동일합니다.

예제

close(fig)fig로 지정된 Figure를 닫습니다.

예제

close all은 핸들이 표시되는 모든 Figure를 닫습니다. Figure 핸들은 HandleVisibility 속성이 'callback' 또는 'off'로 설정된 경우 숨겨져 있습니다.

예제

close all hidden은 핸들이 숨겨진 Figure를 포함한 모든 Figure를 닫습니다.

예제

close all force는 모든 Figure를 닫으며, 여기에는 CloseRequestFcn 콜백이 지정되어 사용자가 Figure 창을 닫지 못하는 Figure까지 포함됩니다.

예제

status = close(___)는 위에 열거된 구문으로 수행된 닫기 작업의 status를 반환합니다. 이 함수는 Figure가 닫힌 경우 1을 반환하고 그렇지 않은 경우 0을 반환합니다. 출력값 status는 지정할 때는 문자형 벡터인 입력 인수를 괄호로 묶어야 합니다(예: status = close('all','hidden')).

예제

모두 축소

각각 선 플롯을 갖는 Figure를 2개 만듭니다.

f1 = figure;
plot(1:10)

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

f2 = figure;
plot((1:10).^2)

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

첫 번째 Figure를 닫고 f1의 값을 표시합니다.

close(f1)
f1
f1 = 
  handle to deleted Figure

현재 Figure를 닫습니다.

close

Figure를 3개 만든 다음 선 플롯을 만듭니다. 기본적으로, plot 함수는 현재 Figure(f3)를 대상으로 합니다.

f1 = figure;
f2 = figure;
f3 = figure;
plot(1:10)

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

Figure f1f2를 동시에 닫습니다.

close([f1 f2])

지정된 번호를 갖는 Figure를 2개 만듭니다. 각 Figure에 선 플롯을 포함합니다.

figure(1)
plot(1:10)

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

figure(2)
plot((1:10).^2)

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

close 함수에 두 번째 Figure의 번호를 전달하여 두 번째 Figure를 닫습니다.

close(2)

Figure를 만들고 이름을 지정한 다음 선 플롯을 만듭니다.

figure('Name','Measured Data');
plot(1:10)

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

이름을 사용하여 Figure를 닫습니다.

close('Measured Data')

각각 선 플롯을 갖는 Figure를 2개 만듭니다.

f1 = figure;
plot(1:10)

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

f2 = figure;
plot((1:10).^2)

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

Figure f1을 닫습니다. Figure의 상태를 표시하여 닫혔는지 확인합니다.

status = close(f1)
status = 1

핸들이 표시되는 Figure를 3개 만들고 각 Figure에 선 플롯을 포함합니다.

f1 = figure;
plot(1:10)

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

f2 = figure;
plot((1:10).^2)

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

f3 = figure;
plot(1./(1:10))

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

모든 Figure를 동시에 닫습니다.

close all

각각 선 플롯을 갖는 Figure를 3개 만듭니다. 마지막 Figure의 HandleVisibility 속성을 'off'로 설정합니다.

f1 = figure;
plot(1:10)

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

f2 = figure;
plot((1:10).^2)

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

f3 = figure('HandleVisibility','off');
plot(1./(1:10))

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

모든 Figure를 닫습니다. f3은 핸들이 숨겨져 있으므로 close all을 호출하여 닫을 수 없음을 알 수 있습니다.

close all hidden

CloseRequestFcn 속성을 사용하면 사용자가 Figure 창을 닫으려고 시도할 때마다 실행되는 닫기 요청 콜백을 지정할 수 있습니다. 예를 들어, 닫기 작업을 확인할지, 취소할지 묻는 대화 상자를 표시하거나 사용자가 UI가 포함된 Figure를 닫지 못하게 할 수 있습니다.

CloseRequestFcn 속성을 빈 문자형 벡터로 설정하여 창을 닫을 수 없는 Figure를 만듭니다. 그런 다음 Figure에 선 플롯을 추가합니다.

f1 = figure('CloseRequestFcn','');
plot(1:10)

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

선 플롯이 있는 두 번째 Figure를 만듭니다.

f2 = figure;
plot((1:10).^2)

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

close all 구문을 사용하여 Figure를 닫으려고 시도하면 MATLAB®은 f2만 닫습니다. f1f2를 모두 닫으려면 close all force 구문을 사용하십시오.

close all force

입력 인수

모두 축소

닫을 Figure로, 하나 이상의 Figure 객체, Figure 번호 또는 Figure 이름으로 지정됩니다.

  • fig가 Figure 번호이면 MATLAB®Number 속성이 fig인 기존 Figure를 찾습니다. 기본적으로 Number 속성값이 Figure의 제목에 표시됩니다.

  • fig가 Figure 이름이면 MATLAB은 Name 속성이 fig인 기존 Figure를 찾습니다.

예: close(f)는 핸들이 f인 Figure를 닫습니다.

예: close([f1 f2])는 핸들이 f1인 Figure와 f2인 Figure를 닫습니다.

예: close(1)은 번호가 1인 Figure를 닫습니다.

예: close([1 2])는 번호가 1인 Figure와 2인 Figure를 닫습니다.

예: close('My Figure')는 이름이 'My Figure'인 Figure를 닫습니다.

예: close('My First Figure','My Second Figure')는 이름이 'My First Figure'인 Figure와 'My Second Figure'인 Figure를 닫습니다.

  • 모든 Figure를 무조건 삭제하려면 다음 명령문을 사용하십시오.

    set(groot,'ShowHiddenHandles','on')
    c = get(groot,'Children');
    delete(c)

  • CloseRequestFcn 콜백을 구현할 때는 close에 대한 호출을 사용하지 마십시오. 콜백 본문에서 close를 호출하면 재귀가 설정되어 MATLAB 경고가 발생합니다. 대신 delete 함수를 사용하여 콜백을 구현하십시오. deleteCloseRequestFcn 콜백을 실행하지 않고 Figure를 제거합니다.

  • CloseRequestFcn 속성을 지정하지 않고 Figure에 close를 호출하면 closereq가 Figure를 무조건 삭제하고 창을 닫습니다. close를 호출할 때 삭제를 방지하려면 CloseRequestFcn 콜백을 구현하십시오.

알고리즘

close 함수는 다음 구문을 사용하여 지정된 Figure fCloseRequestFcn 속성을 계산합니다.

eval(get(f,'CloseRequestFcn'))

CloseRequestFcn을 사용하면 close가 호출된 후에 Figure 닫기를 지연하거나 중단할 수 있습니다. 예를 들어, Figure를 닫기 전에 사용자가 정말로 Figure를 닫기를 원하는지 아니면 저장하고 정리할지 여부를 확인하는 대화 상자를 표시할 수 있습니다.

CloseRequestFcn의 디폴트 값인 closereqdelete(get(groot,'CurrentFigure'))를 사용하여 현재 Figure를 닫습니다. Figure 핸들로 구성된 배열을 지정하면 close가 각 Figure에 대해 CloseRequestFcn으로 지정된 콜백을 실행합니다.

오류로 인해 CloseRequestFcn 콜백의 실행이 종료되면 Figure는 닫히지 않습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

함수

속성