循环保存netcdf映像pycdf和numpy更改时间sli

2024-05-15 09:43:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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()

Tags: 文件pngvar时间nccdfpycdflons
1条回答
网友
1楼 · 发布于 2024-05-15 09:43:31

你必须改变主意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))

另外,从循环中取出basemap命令,速度会快一点。你知道吗

相关问题 更多 >