Pandas дата и время субплота - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь построить несколько фреймов данных, которые имеют дату и время в качестве индекса и стоят как один столбец с использованием гистограмм. Кроме того, я sh построю кумулятивную линию solid. У меня есть несколько фреймов данных, основанных на названии компании. Значение x_ticks должно быть ограничено и начинается с df.index.min() до datetime.datetime.now(). В настоящее время x_ticks полностью вышли из-под контроля, перепрыгивая на верхнюю часть вспомогательных участков, и не слушая элементы управления. Я предполагаю, что это как-то связано с axs2. enter image description here

fig, axs = plt.subplots(int(np.ceil(len(clients)/4)), 4, figsize=(20, 15), facecolor='w', edgecolor='k')
axs = axs.ravel()
datemin = df_riko_split['Date'].min()
for i in range(len(clients)):
  if df_riko_split[df_riko_split['Klantnaam'] == clients[i]]['Total Cost'].sum() != 0:
    df_date_cost = df_riko_split[df_riko_split['Klantnaam'] == clients[i]][['Total Cost','Date']].sort_values(['Date'])
    df_date_sum = df_date_cost.groupby('Date').sum()
    df_date_cumsum = pd.DataFrame(df_date_sum['Total Cost'].cumsum())

    axs[i].set_xlim(datemin, datetime.datetime.now())
    axs[i].xaxis.set_major_locator(dates.MonthLocator(bymonthday=1))
    axs[i].xaxis.set_major_formatter(dates.DateFormatter('%Y-%b'))

    axs2 = axs[i].twinx().twiny()
    axs2.set_xticklabels([])
    df_date_cumsum.plot(ax = axs[i], stacked=True)
    df_date_sum.plot(ax=axs2, kind='bar')
    axs[i].set_title(str(clients[i] + ' €' + "%.2f" % round(df_date_cumsum.values[-1][0],2)))
plt.tight_layout()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...