繁体   English   中英

循环保存netcdf图像pycdf和numpy更改时间片

[英]Loop saving netcdf images pycdf and numpy change time slice

我有一个netcdf文件,该文件显示了变量在不同时间段的变化情况。 我要保存此时间片的.png,然后保存下一个时间片的单独的.png,直到保存了所有时间片。 我想将每个时间片保存为一个数字。

我在下面的尝试,但是无法获得保存其他文件的循环。

    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()

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

或者如果您想要plt.savefig('/home/jeremy/Desktop/Figures_presentation/Hagdorn_SIA/Vel/value{0:03d}.png'.format(i))类的数字,请plt.savefig('/home/jeremy/Desktop/Figures_presentation/Hagdorn_SIA/Vel/value{0:03d}.png'.format(i))

另外,将basemap命令从循环中删除会更快一些。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM