【问题标题】:Loop saving netcdf images pycdf and numpy change time slice循环保存 netcdf 图像 pycdf 和 numpy 更改时间片
【发布时间】:2016-02-03 12:25:51
【问题描述】:

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

【问题讨论】:

    标签: python numpy plot netcdf


    【解决方案1】:

    您必须将 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))

    另外,从循环中取出底图命令,会快一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-12
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      • 2016-02-07
      相关资源
      最近更新 更多