Как отобразить часы на оси X с помощью функции графика Пророка - PullRequest
0 голосов
/ 15 января 2020

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

ads_mod['y'] = ads_mod[target1]
ads_mod['ds'] = ads_mod['hour']

Затем запускаю процесс моделирования:

m = Prophet(interval_width=interval_width)
m.add_seasonality(name='hourly', period=1, fourier_order=30)
m.fit(ads_mod)
future = m.make_future_dataframe(periods=1,freq='H') 
forecast = m.predict(future)

Я строю прогноз с помощью:

fig = m.plot(forecast)

Я просмотрел фактический код в функции графика и попробовал различные модификации для отображения часа вместе с датой (то есть, значением даты и времени) на оси X, но безуспешно. В частности, я посмотрел на преобразование даты:

fcst_t = fcst['ds'].dt.to_pydatetime()

После преобразования я вижу, что мои данные теперь в следующем формате, с включенным Часом. Ниже приведен фрагмент графика, и вы видите, что на оси абсцисс единственной отображаемой величиной является дата (т. Е. ГГГГ, ММ, ДД):

fcst_t[:10]
Out[277]: 
array([datetime.datetime(2019, 12, 2, 0, 0),
       datetime.datetime(2019, 12, 2, 1, 0),
       datetime.datetime(2019, 12, 2, 2, 0),
       datetime.datetime(2019, 12, 2, 3, 0),
       datetime.datetime(2019, 12, 2, 4, 0),
       datetime.datetime(2019, 12, 2, 5, 0),
       datetime.datetime(2019, 12, 2, 6, 0),
       datetime.datetime(2019, 12, 2, 7, 0),
       datetime.datetime(2019, 12, 2, 8, 0),
       datetime.datetime(2019, 12, 2, 9, 0)], dtype=object)

Plot Fragment

1 Ответ

0 голосов
/ 20 января 2020
import matplotlib.dates as mdates

.... дополнительный код сюжета здесь ......

hours = mdates.HourLocator(interval = 1)
h_fmt = mdates.DateFormatter('%Y-%m-%d %H:%M:%S')
ax.xaxis.set_major_locator(hours)
ax.xaxis.set_major_formatter(h_fmt)

Вот ссылка: https://urldefense.com/v3/{ ссылка }; !! M-nmYVHPHQ! CfpmWmLR0J5OMTJIH0aiEwrHWzsnD7pHJSBdVXxRTcAMK6mQ3v8K-FudC7uC6RN78uhTDCkD $

...