如何使用xarray,matplotlib和Basemap更改图形中每个子图的大小?

时间:2019-04-04 01:40:52

标签: python numpy matplotlib matplotlib-basemap python-xarray

我需要使用xarray's plotting functionality从netCDF文件中绘制xarray数据集。

数据集包含latitudelongitudeseason维。我需要使用matplotlib.Basemap在底图的顶部为每个season绘制一个空间图。

这是我的代码:

import xarray as xr
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap

ds_path = r'{path to the netCDF file}'
ds = xr.open_mfdataset(ds_path)
da = ds[{variable_name}]
print(da)

# Plot
p = da.plot(levels=10, x='longitude', y='latitude', col='season')        # p is an instance of <class 'xarray.plot.facetgrid.FacetGrid'>

# Draw the spatial map for each `season`
for i, ax in enumerate(p.axes.flatten()):
    map = Basemap(llcrnrlat=39.2,urcrnrlat=33.9,llcrnrlon=140.8,urcrnrlon=150.0,resolution='i',ax=ax)

plt.show()

如何在plt.figure上设置每个季节的子图大小?

0 个答案:

没有答案