У меня есть функция в моем кадре данных 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 уровней).
Заранее спасибо!
Как упоминал 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()
subplots