Есть 2 возможных решения - изменить порядок index
перед графиком - на reindex
или loc
:
df.CatVar.value_counts().reindex(["Low", "Medium", "High"]).plot(kind="bar")
df.CatVar.value_counts().loc[["Low", "Medium", "High"]].plot(kind="bar")
Или использовать ordered categorical
, поэтому после value_counts
получите заказ по параметру categories
:
df.CatVar = pd.Categorical(df.CatVar, categories=["Low", "Medium", "High"], ordered=True)
df.CatVar.value_counts(sort=False).plot(kind="bar")
Образец :
df = pd.DataFrame({'CatVar':['Low','Medium','Low','Low','Medium','High']})
print (df)
CatVar
0 Low
1 Medium
2 Low
3 Low
4 Medium
5 High
df.CatVar.value_counts().reindex(["Low", "Medium", "High"]).plot(kind="bar")