Matplotlib에서는 close() 함수를 활용해 그림(figure) 창을 손쉽게 닫을 수 있습니다. 상황에 따라 여러 가지 형태로 사용할 수 있으며, 각각의 동작 방식은 다음과 같습니다.
close() 함수의 다양한 사용법
plt.figure().close(): 그림(figure) 창을 닫습니다.
close() — 인자 없이 호출하면 현재 열려 있는 그림을 닫습니다.
close(h) — h가 Figure 인스턴스일 때, 해당 그림을 닫습니다.
close(num) — 번호(number)가 num인 그림을 닫습니다.
close(name) — name이 문자열일 때, 해당 레이블(label)을 가진 그림을 닫습니다.
close('all') — 열려 있는 모든 그림 창을 한 번에 닫습니다.
예제 코드
from matplotlib import pyplot as plt fig = plt.figure() ax = fig.add_subplot() plt.show() plt.close()
실행 결과

show()와 close()의 순서 차이
이제 위 코드에서 plt.show()와 plt.close()의 순서를 서로 바꿔서 실행해 보겠습니다. 이 경우에는 화면에 아무런 그래프도 나타나지 않습니다. 그 이유는 그림이 화면에 표시되기 전에 이미 닫혀 버렸기 때문입니다.
따라서 그림을 화면에 출력하려면 반드시 plt.show()를 먼저 호출하고, 이후에 plt.close()를 호출해야 합니다. 특히 여러 개의 그림을 반복문으로 생성할 때는 plt.close('all')을 활용하면 메모리 누수를 방지하고 창을 깔끔하게 정리할 수 있습니다.