closing image automatically in for loop , python

Masoud Afshari mafshari44 at gmail.com
Wed Apr 12 07:18:45 EDT 2017


Dear all

 I have several *.sfd files which created by a simulation code. I wrote a program containing a for Loop which reads  each time one .sfd file  and plot the requested Parameters. I have two request:

 1- my Problem is that for Showing successive Images in for Loop I have to Close the Image MANAULLY each time to read next sdf file. can anyone please tell me which command do I have to use so the code Close the Images automatically.

 2- more over, can anyone please tell me how can I create a movie with this code.

 in the following you can see my code


 #####################
 # in this program, PYTHON reads the reduced files and plot the variables .
 
  
import sys 
 import sdf
 import numpy as np
 import matplotlib.pyplot as plt 
 from matplotlib.font_manager import FontProperties
 fp = FontProperties('Symbola')
 
##################### information from EPOCH input.deck
 nx,ny= 1200, 1600
 
xmin=-100e-6
 xmax = 50e-6
 ymin = -100e-6
 ymax = 100e-6
 
X =np.linspace(xmin,xmax,nx) #Generate linearly spaced vector. The spacing between the points is (x2-x1)/(n-1).
 Y =np.linspace(ymin,ymax,ny)
 
#################
for n in range(0,27):
 nstr = str(n)#.zfill(4)
 #print nstr
 
######
fig = plt.figure() #plot several figures simultaneously 

 ########..... reading Ex
 
filename ="Ex_resample" +'_sdf_'+ str(n)+'.dat'
 with open(filename, 'rb') as f: #read binary file
 data = np.fromfile(f, dtype='float64', count=nx*ny) #float64 for Double precision float numbers
 Ex = np.reshape(data, [ny, nx], order='F')
 #print Ex.max()
 
#Display image with scaled colors:
 plt.subplot(222)
 fig1=plt.imshow(Ex, extent=[X.min()*1e6, X.max()*1e6, Y.min()*1e6, Y.max()*1e6], vmin=0, vmax=2e12, cmap='brg', aspect='auto') #cmap='jet', 'nipy_spectral','hot','gist_ncar'
 #plt.suptitle('Ex')
 plt.title('sdf '+ str(n)+ '; Time= ' +str(n*50)+ 'ps',color='green', fontsize=15)
 plt.xlabel('x($\mu$m)')
 plt.ylabel('y($\mu$m)')
 plt.text(40,80,'Ex',color='red', fontsize=15)
 plt.colorbar()
 plt.show()
 #fig.savefig('test.jpg')
 sys.exit()


More information about the Python-list mailing list