파이썬/그래프 그리기

python(vscode)/runtimeWarning 해결/More than 20 figures have been opened/

gongdol 2023. 2. 4. 18:56
300x250

1. 문제 상황

  1) for 을 활용하여 그래프를 반복적으로 그리고 저장하도록 프로그램 했다. 

  2) 그래프를 열어놓지도 않고 저장만했는데도 아래와 같은 알람이 뜨기 시작했다. 

      -. 뭔가 메모리에 그래프가 저장되는 모양이다. 저러다가 한계치에 다다르면 프로그램이 꺼지는 모양이다. 

      -. 300개정도 반복했을때 프로그램이 아예 꺼졌고 30개정도 그렸을때는 또 돌아가긴했다. 

 

* 알람명*

runtimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).

 

 

2. 해결방법

  1) 저장하자마자 그래프를 꺼주자

  2) 코드작성 (아래 확인) 

     -. 간단히 저장하자마자 close 해주는 부분만 작성했다. 반복하여 그래프 그리는 코드는 복잡하게 해놔서...

1
2
3
4
import matplotlib.pyplot as plt 
 
fig.savefig(imagepath+'.png'# 이미지 저장하기
plt.close('all'# 닫아주기
cs

 

300x250