Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib에서 현재 열려 있는 모든 Figure(그림) 한 번에 닫는 방법

Matplotlib에서 현재 열려 있는 모든 그림(figure)을 한 번에 닫으려면 close('all') 메서드를 사용하면 됩니다. 이 메서드는 메모리에 남아 있는 불필요한 figure 객체를 정리(flush)하여, 여러 개의 창이 동시에 떠 있는 상황을 방지해 줍니다.

실행 단계

  • Figure 크기를 설정하고, 서브플롯(subplot) 사이와 주변의 여백(padding)을 조정합니다.

  • "First Figure"라는 제목을 가진 첫 번째 figure를 생성합니다.

  • "Second Figure"라는 제목을 가진 두 번째 figure를 생성합니다.

  • 모든 figure를 닫기 위해 close('all')을 호출합니다.

  • figure를 화면에 표시하려면 show() 메서드를 사용합니다.

예제 코드

from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

plt.figure("First Figure")
plt.figure("Second Figure")

# plt.close('all')

plt.show()

출력 결과

위 코드에서는 다음 줄이 주석 처리되어 있습니다.

plt.close('all')

따라서 코드를 실행하면 아래와 같이 두 개의 figure가 동시에 화면에 표시됩니다.

Matplotlib에서 현재 열려 있는 모든 Figure(그림) 한 번에 닫는 방법

Matplotlib에서 현재 열려 있는 모든 Figure(그림) 한 번에 닫는 방법

이제 plt.close('all') 줄의 주석을 해제하고 코드를 다시 실행해 보세요. 그러면 현재 열려 있는 모든 figure가 즉시 닫히면서 화면에 아무런 그림도 표시되지 않습니다. 이처럼 close('all')은 반복 작업 중 figure가 계속 누적되어 메모리를 낭비하는 것을 막고 싶을 때 유용하게 활용할 수 있습니다.