Stackplot pandas groupby - PullRequest
       6

Stackplot pandas groupby

0 голосов
/ 15 сентября 2018

Я хочу использовать стекирование для моих данных. Однако это должно быть сгруппировано сначала. Я также надеюсь, что он получит легенду от группы, как при использовании df.plot (legend = True)

              Region  Dengue_Cases
Date                              
2008-01-01  Region.I      2.953926
2008-02-01  Region.I      2.183336
2008-01-01  Region.II     0.972410
2008-02-01  Region.II     9.357156
2008-01-01  Region.III    7.320599


import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(15, 10))
plt.style.use('fivethirtyeight')
df.set_index('Date', inplace=True)

#ax.stackplot(df['Date'], df.groupby('Region')['Dengue_Cases'], legend=True)

Я использовал приведенный выше код, но думаю, что он неправильный, поскольку он отправил ошибку.

1 Ответ

0 голосов
/ 15 сентября 2018

IIUUC, вы можете получить то, что вы хотите, с помощью DataFrame.plot.area(), хотя сначала вам нужно повернуть DataFrame, чтобы каждый столбец представлял собой отдельный регион, а индексы - это даты.

import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(9, 6))
plt.style.use('fivethirtyeight')

df = df.set_index('Date')
_ = df.pivot(columns='Region', values='Dengue_Cases').plot.area(ax=ax)

_ = plt.legend(bbox_to_anchor=(1.04,1), loc="upper left")
plt.show()

enter image description here

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