Я пытаюсь отсортировать компоненты гистограммы по отдельности для лучшей читабельности (либо в самом DataFrame), либо после того, как диаграмма построена, и я не могу понять, есть ли хороший способ сделать это.
Например, у меня есть этот словарь игроков и время, проведенное против их противников -
so_oppo_dict = {
'Player 1': {'Opponent 1': 2.15, 'Opponent 2': 3.5333, 'Opponent 3': 3.1},
'Player 2': {'Opponent 1': 2.2167, 'Opponent 2': 1.8667, 'Opponent 3': 2.3333},
'Player 3': {'Opponent 1': 1.5333, 'Opponent 2': 4.3833, 'Opponent 3': 4.15}
}
Затем я строю график, используя следующий код, чтобы превратить его в гистограмму с накоплением -
fig, ax = plt.subplots()
ax = plt.subplot(111)
so_oppo_df.T.plot(kind="barh", stacked=True, ax=ax)
fig.tight_layout()
fig.savefig('opponents-stacked.png')
Мой результирующий график выглядит следующим образом, и каждый компонент гистограммы с накоплением отсортирован в том же порядке. Что я хотел бы сделать, так это переставить компоненты баров, чтобы отсортировать их по убыванию (так, чтобы зеленые и оранжевые столбцы располагались перед синими столбцами) - возможно ли это сделать?