Надеюсь, простой вопрос: у меня есть график, и мне нужно включить координаты DataArray (изменение значение недели является наиболее важным) в заголовке графика, который устанавливается для каждого из 5 создаваемых графиков или рисунков. в al oop как это показано ниже:
lats = stdn.lat['lat'][:]
lons = stdn.lon['lon'][:]
v = np.linspace(-3., 3., 13)
for i in numweeks:
ax = plt.axes(projection=ccrs.PlateCarree())
ax.coastlines(lw=1)
clevs = np.linspace(-3., 3., 13)
stdnasq = stdna[0,i-1].squeeze()#need 2D with squeeze()
cnplot = plt.contourf(lons,lats,stdnasq,clevs,add_labels=True,cmap='jet')
cbar = plt.colorbar(cnplot)
cbar.set_label('Standard Deviations')
#ax.set_title('500mb Hgts Week %d' %i)
plt.show()
Мне нужны значения «level», «week» и «variable» в заголовке графика из переменной графика, показанной ниже с каждым l oop итерация:
stdnasq
Out[856]:
<xarray.DataArray 'Standardized 500 Anomaly' (lat: 73, lon: 144)>
dask.array<getitem, shape=(73, 144), dtype=float32, chunksize=(73, 144), chunktype=numpy.ndarray>
Coordinates:
* lon (lon) float32 0.0 2.5 5.0 7.5 10.0 ... 350.0 352.5 355.0 357.5
* lat (lat) float32 90.0 87.5 85.0 82.5 80.0 ... -82.5 -85.0 -87.5 -90.0
level float32 500.0
week int64 8
variable <U3 'hgt'
Спасибо, поскольку я не могу понять, как это сделать из того, что я прочитал в Интернете! Я попробовал это ниже:
ax.set_title("level: {}".format( stdnasq.coords['week']))
, но получаю следующее, поэтому мне нужно извлечь только level = 500, week = 8 и variable = hgt. Кто-нибудь знает, как работать с текстовым объектом ниже?
Out[935]: Text(0.5, 1.0, "level: <xarray.DataArray 'week' ()>\narray(8,
dtype=int64)\nCoordinates:\n level float32 500.0\n week int64
8\n variable <U3 'hgt'")