2015-11-03 69 views
0

我有一个netcdf文件,它显示了变量在不同时间片上的变化情况。 我想保存此时间片的.png,然后保存下一个时间片的单独.png,直到所有时间片保存完毕。我希望每个时间片都保存为一个数字。循环保存netcdf图像pycdf和numpy更改时间片

我在此尝试下面,但我不能得到保存不同的文件工作循环。

nc=pycdf.CDF("netcdf1.nc",pcdf.NC.NOWRITE) 
    nc.automode() 
    nc2=pycdf.CDF("netcdf2.nc",pcdf.NC.NOWRITE) 
    nc.automode() 
    for i in range(5): 
     time = i 
     lons = nc2.var('lon')[0,1:382,1:440] 
     lats = nc2.var('lat')[0,1:382,1:440] 
     thk=nc.var('thk')[time,1:382,1:440] 
     m = Basemap(width=2200000,height=1910000,resolution='l',projection='aea',lat_0=lats.mean(),lon_0=lons.mean()) 
     x,y = m(*(lons,lats)) 
     cs=m.pcolor(x,y,thk,norm=colors.LogNorm()) 
     plt.savefig('/home/jeremy/Desktop/Figures_presentation/Hagdorn_SIA/Vel/value{i}.png') 
     nc.close() 

回答

0

您必须更改plt.savefig命令:plt.savefig('/home/jeremy/Desktop/Figures_presentation/Hagdorn_SIA/Vel/value'+i+'.png')

,或者如果你想要一个像001,002,003,然后 plt.savefig('/home/jeremy/Desktop/Figures_presentation/Hagdorn_SIA/Vel/value{0:03d}.png'.format(i))

同样的数字,从拿底图命令出循环,会更快一点。