Как установить один заголовок для граненого графика xarray? - PullRequest
0 голосов
/ 20 февраля 2019

Мне нужно установить заголовок для нескольких графиков, каждый из которых отрисовывается с помощью базовой карты.

Источником данных является объект DataArray для xarray.Код использует DataArray.plot () для рисования нескольких графиков на одной фигуре.

p = da_monthly_slice.plot(levels=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], cmap=plt.cm.Reds, x='longitude', y='latitude', col='time', col_wrap=3)

for i, ax in enumerate(p.axes.flatten()):
    ax.set_title('Month: %d' % i)
    ax.set_xlabel('Longitude')
    ax.set_ylabel('Latitude')
    map = Basemap(llcrnrlat=-39.2,urcrnrlat=-33.9,llcrnrlon=140.8,urcrnrlon=150.0,resolution='i',ax=ax)
    map.readshapefile(shapefile1, 'CFA_DISTRICT_BODY', linewidth=0.5)

fig = plt.figure()
st = fig.suptitle("Number of days for each month meeting the criteria in 2017", fontsize="large")

plt.show()

Это привело к тому, что две фигуры были нарисованы отдельно.Один предназначен для нескольких графиков, в то время как другой содержит только заголовок.

Как сделать так, чтобы заголовок отображался в верхней части нескольких графиков на одном и том же рисунке?

1 Ответ

0 голосов
/ 20 февраля 2019

fig = plt.figure() создает новую фигуру.Удалить эту строку.

Вы можете использовать plt.suptitle(..) для создания заголовка на текущем рисунке.
Или вы получите рисунок из FacetGrid, он должен быть p.fig.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...