Я пытаюсь отобразить информацию о части дохода домохозяйства, полученного в конкретной отрасли в 5 округах региона.
Я использовал groupby, чтобы отсортировать информацию в моем фрейме данных по районам:
df = df_orig.groupby('District')['Portion of income'].value_counts(dropna=False)
df = df.groupby('District').transform(lambda x: 100*x/sum(x))
df = df.drop(labels=math.nan, level=1)
ax = df.unstack().plot.bar(stacked=True, rot=0)
ax.set_ylim(ymax=100)
display(df.head())
District Portion of income
A <25% 12.121212
25 - 50% 9.090909
50 - 75% 7.070707
75 - 100% 2.020202
Поскольку этот доход относится к категориям, я хотел бы упорядочить элементы в столбце с накоплением в логическом порядке.График Панды производится ниже.Прямо сейчас, порядок (начиная с нижней части каждого бара):
- 25 - 50%
- 50 - 75%
- 75 - 100%
- <25% </li>
- Не уверен
Я понимаю, что они отсортированы в алфавитном порядке, и было бы любопытно, если бы был способ установить пользовательский порядок.Чтобы быть интуитивно понятным, я бы хотел, чтобы порядок был (опять же, начиная с нижней части бара):
- Не уверен
- <25% </li>
- 25 -50%
- 50 - 75%
- 75 - 100%

Тогда я быхотел бы перевернуть легенду, чтобы отобразить реверс этого порядка (то есть, я хотел бы, чтобы легенда имела 75 - 100 сверху, так как это будет наверху столбцов).