Вас может заинтересовать участок с накоплением.Это должно работать на вашем DataFrame с именем df
:
df.drop(columns='age').plot(kind='area', stacked=True)
Одна из проблем заключается в том, что элементы легенды будут отображаться в обратном порядке по сравнению с вертикальным расположением областей графика.Чтобы это исправить, вы можете вручную изменить метки и метки легенды:
ax = plt.gca()
leg_handles, leg_labels = ax.get_legend_handles_labels()
ax.legend(leg_handles[::-1], leg_labels[::-1])
Вот некоторые примеры данных (текст сообщения, а не изображения, поэтому мы можем легко скопировать-вставить и поэкспериментировать :)):
df = pd.DataFrame({'age': [1, 2, 3],
'Class1': [22, 14, 26],
'Class2': [14, 15, 14],
'Class3': [64, 71, 60]
})
Вывод:
Чтобы изменить вертикальный порядок на графике так, чтобы класс 1 оказался вверху, отсортируйте столбцы (axis=1
) вв порядке убывания перед построением графика:
df.drop(columns='age').sort_index(axis=1, ascending=False)plot(kind='area', stacked=True)