Python Plots - цикл по уникальным значениям объекта и графика

1

У меня есть функция в моем кадре данных pandas, которая может принимать (потенциально) несколько уровней. Я могу получить уникальные уровни, используя следующее:

reasons = df["Reason"].unique()

Я могу построить подсчеты всех уровней на одном графике, делая следующее:

for reason in reasons: df[df['Reason']== reason].groupby('date').count()['twp'].plot() plt.title(reason) plt.tight_layout()

Как я могу изменить этот код, чтобы он мог создать отдельный график для каждого уровня? Кроме того, я бы хотел также обеспечить масштабируемость. (Например, если количество уникальных уровней в настоящий момент равно 3, но в будущем мы можем получить 5 уровней).

Заранее спасибо!

  • 0
    Можете ли вы опубликовать свой DataFrame?
  • 0
    Попробуйте поискать subplots
Теги:
pandas
matplotlib

1 ответ

1
Лучший ответ

Как упоминал Bazingaa, используйте подзаголовки:

reasons = df["Reason"].unique()
fig, axes = plt.subplots(len(reasons), 1) 

for reason, ax in zip(reasons, axes):
    df[df['Reason']== reason].groupby('date').count()['twp'].plot(ax=ax)
    ax.set_title(reason)

plt.tight_layout()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню