【发布时间】:2019-09-04 01:46:24
【问题描述】:
我想将四个文件图从一个循环中放入 1 个子图。
我循环了一些文件(四个数据文件)以从中提取某些数据(例如纬度、经度和气溶胶光学深度),这些数据打印正确,表明它已成功循环文件并提取了我需要的内容。当我继续循环并仅绘制结果时,它会绘制四个单独的数字,因为我还没有完成子图。
当我实现一些子图代码时,它做了很多事情,但不是我想要的。我想要 1 个 2 行 2 列显示每个文件的子图,而不是 4 个子图,每个子图只重复 1 个文件。
这是我的精简代码:
for lim in mlims:
fil= ilfil + innm +'kd00' + jad +'nam'
ln= Dataset(ilfil)
longit = vn.variables['longitude'][:]
latitud = vn.variables['latitude'][:]
## etc .....
aode = var1+var2
aod=np.squeeze(aode[:,2,:,:])
lons, lats = np.meshgrid(lonitud, latatit)
x, y = map(lons, lats)
ii=[0,1,2,3]
fig, axes = plt.subplots(nrows=4, ncols=4, figsize=(2,5))
for ax,mon_index,lname in zip(axes.flatten(),ii, mnames):
axis=np.arange(0+0.025,0.5+0.025,0.025)
cs = ax.contourf(x,y,aod,axis,cmap='seismic',linewidths=1.)
cbar = map.colorbar(cs)
plt.title(AOD)
plt.show()
代码输出如下:1 是文件的图,但我不希望同一个文件在一个子图图中重复,2+ 是图
我希望它输出:
1 1 1 2 - 第一个文件
1 1 1 3 - 秒文件
1 1 1 4 - 第三
1 1 1 5
我想要得到的只是: 2 3 4 5
【问题讨论】:
标签: python loops for-loop subplot