xarrayのデータを2次元のパネルにループを用いて作図する方法について記載する。
方法
変数毎のプロパティを指定するためクラスを定義する。
class vprops():
def __init__(self,vname,vmin,vmax):
self.vname=vname
self.vmin=vmin
self.vmax=vmax
変数毎のプロパティのリストを作成する。
vlist=[]
vlist.append(vprops("SiO3",0.0,40.0))
vlist.append(vprops("NO3" ,0.0,20.0))
vlist.append(vprops("temp",0.0,30.0))
vlist.append(vprops("ALK" ,2000.0,2400.0))
プロットする。enumarateとnp.ndindexを併用することでで1次元と2次元の添え字をループする。xarrayのカラーバーのプロパティはxarray内在のプロパティでは設定出来ないため、add_colorbar=Falseとして別途設定する。
fig,ax=plt.subplots(2,2)
im=[]
for n,ind in enumerate(np.ndindex(2,2)):
im.append(fi0[vlist[n].vname].isel(s_rho=-1,ocean_time=-1).plot(cmap="jet",vmin=vlist[n].vmin,vmax=vlist[n].vmax,ax=ax[ind],add_colorbar=False))
ax[ind].set_title("")
ax[ind].set_xlabel("")
ax[ind].set_ylabel("")
plt.colorbar(im[n],ax=ax[ind])
plt.tight_layout(h_pad=0,w_pad=0)
plt.savefig("test.png",dpi=200,bbox_inches="tight")
作図例
