长话短说,我正在从netCDF文件中绘制气候数据。我唯一的问题是,我必须从数十个这些文件中绘制数据,每个文件都有超过一百个数据点。幸运的是,它们都具有相同的格式,并且它们的名称按升序排列(例如:file1.nc,file2.nc ...)。这是我的代码(未完成,因为我必须更改标记的标记和颜色):
无论如何,我想要绘制多于一个文件(大约20个开头)。有没有办法做到这一点?另外,如果你们知道如何根据变量' data'设置颜色条。那会很棒。
谢谢!
答案 0 :(得分:0)
制作一个空数组:
data =[]
列出文件名:
flist=["001.dat","002.dat",...]
然后遍历该列表:
for fn in flist:
data.append( netcdf_file(fn,'r'))
现在您可以参考您的数据集,如:
data[0]
data[1]
等
答案 1 :(得分:0)
至少,plt.savefig("some unique name")
表示您可以在循环中生成它们而无需保存图表/单独关闭它们。
我还建议您熟悉object oriented interface:
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
map = Basemap(projection='robin',lon_0=0,resolution='l',ax=ax)
#keep all your code
cs = map.scatter(x,y,data)
fig.savefig("{}".format(some unique identifier))
Eta:如果他们在同一个文件夹中,您可以使用glob查找所有文件:
import glob
filelist = glob.glob('/Users/epsuser/Dropbox/Argo/Data/*.nc')
for fl in filelist:
ncfile = netcdf_file(fname,'r')
#the rest of your reading code
fig = plt.figure()
#etc...