본문 바로가기

Python

[파이썬] figure창 자동으로 닫는 방법 - plt.pause(), plt.close()

반응형

figure창 자동으로 닫기

'''
 * 활성화 함수 (activation function)
    - 입력 신호가 출력 결과에 미치는 영향도를 조절하는 매개변수
    - 종류

'''
import numpy as np
import matplotlib.pyplot as plt

def step(x):
   result = x > 0.00000001      # 부동소수점 오차 방지
   return result.astype(int)    # 정수로 변환

x = np.arange(-10.0, 10.0, 0.1)
y = step(x)

plt.plot(x,y)
#plt.show()

def sigmoid(x):
   return 1.0 / (1.0 + np.exp(-x))

x = np.arange(-10.0, 10.0, 0.1)
y = sigmoid(x)
plt.plot(x, y)
#plt.show()

x = np.linspace(-np.pi, np.pi, 60)
#print(x)
y = np.tanh(x)

plt.plot(x, y)
plt.show()

파이썬 코드를 입력하고 plt.show()를 하면 아래와 같은  Figure창이 나온다. 

 

파이썬 figure창
Figure창

Figure창이 하나면 x표시를 한번 눌러서 쉽게 해결이 가능하지만... 여러 개의 그래프가 출력된다면 닫기를 계속 눌러줘야하는 번거로움이 있다. 이것을 해결해보자. 

 

 

plt.pause(), plt.close()

'''
 * 활성화 함수 (activation function)
    - 입력 신호가 출력 결과에 미치는 영향도를 조절하는 매개변수
    - 종류

'''
import numpy as np
import matplotlib.pyplot as plt

def step(x):
   result = x > 0.00000001      # 부동소수점 오차 방지
   return result.astype(int)    # 정수로 변환

x = np.arange(-10.0, 10.0, 0.1)
y = step(x)

plt.plot(x,y)
#plt.show()

def sigmoid(x):
   return 1.0 / (1.0 + np.exp(-x))

x = np.arange(-10.0, 10.0, 0.1)
y = sigmoid(x)
plt.plot(x, y)
#plt.show()

x = np.linspace(-np.pi, np.pi, 60)
#print(x)
y = np.tanh(x)

plt.plot(x, y)
plt.show(block=False)
plt.pause(5)
plt.close()

아래 코드를 추가해줬다. 

 

plt.show(block=False)
plt.pause(5)
plt.close()

1. plt.show() 함수를 호출하면 그래프가 표시되고, 그래프를 닫기 전까지는 다음 코드 실행이 일시 중지된다.

하지만 plt.show(block=False)를 사용하면 그래프가 표시된 상태로 다른 코드가 실행되며, 그래프 창은 계속 열린 상태로 유지된다.

 

2. plt.pause() 괄호에 몇초 동안 유지될 것인지 입력해준다. 5를 입력하면 5초 후에

 

3. plt.close()가 실행된다. 창이 닫힌다. 

 

 

반응형