vue, puis fermez la figure automatiquement dans matplotlib?

Je dois vérifier si mes paramètres le réglage est bon, donc j'ai besoin de tirer beaucoup de parcelles, et le dessin d'une de ces parcelles, j'ai choisi d'utiliser matplotlib. Après chaque vérification, j'ai besoin de cliquez sur le bouton fermer dans le coin supérieur gauche de conner. Il est trivial. Donc, il y a une méthode qui peut faire le graphique montrent dans environ 3 ou 5 secondes et fermer automatiquement sans avoir à cliquer? Je sais que sur le plt.close(), mais il ne fonctionne pas. Voici mon code.

from math import *
import sys
import numpy as np
from scipy import special 
import matplotlib.pyplot as plt
x1=[]
y1=[]
x2=[]
y2=[]
x3=[]
y3=[]
with open('fort.222','r') as f:
for line in f:
a,b=line.split()
x1.append(float(a))
y1.append(float(b))
n=int(sys.argv[1])
i=0
with open('fort.777','r') as f:
for line in f:
if i==0:
k1=float(line)
i=i+1
x1,y1=np.array(x1),np.array(y1)
z1=special.eval_hermite(n,x1*k1)*sqrt(1/(sqrt(pi)*pow(2,n)*factorial(n)))*sqrt(k1)*np.exp(-np.power(k1*x1,2)/2.)                                                                                                  
plt.figure()
plt.plot(x1,z1)
plt.plot(x1,y1)
plt.plot(x1,np.zeros(len(x1)))
plt.title('single center & double center')
plt.xlim(x1.min(),x1.max())
plt.ylim(-max(abs(y1.min()-0.1),y1.max()+0.1),max(abs(y1.min()-0.2),y1.max()+0.2))
plt.xlabel('$\zeta$'+'/fm')
plt.legend(('single, n='+sys.argv[1],'double, n='+sys.argv[1]),loc=2,frameon=True)
plt.show()
plt.close()

OriginalL'auteur zmwang | 2016-11-03