gpt4 book ai didi

python - 如何使用plotnine对堆叠条形进行排序

转载 作者:行者123 更新时间:2023-12-01 08:58:19 25 4
gpt4 key购买 nike

我有以下数据框

import pandas as pd
from plotnine import *

df = pd.DataFrame({
'variable': ['gender', 'gender', 'age', 'age', 'age', 'income', 'income', 'income', 'income'],
'category': ['Female', 'Male', '1-24', '25-54', '55+', 'Lo', 'Lo-Med', 'Med', 'High'],
'value': [60, 40, 50, 30, 20, 10, 25, 25, 40],
})
df['variable'] = pd.Categorical(df['variable'], categories=['gender', 'age', 'income'])

我正在使用以下代码来获取堆积条形图

(ggplot(df, aes(x='variable', y='value', fill='category'))
+ geom_col()
)

以上代码取自here

如何更改每个类别的顺序。例如。我希望 age 1-24 位于 age 堆叠栏的底部

最佳答案

您可以使用 pd.Categorical 函数和 ordered=True 来指定堆叠的列顺序。此属性确保在绘图过程中按照您想要的方式保留类别顺序:

# Categories are shown in a top-down order, 
# so you must reverse 'ages' order to be shown in bottom-up fashion
cat_order = ['Female', 'Male', '55+', '25-54', '1-24', 'Lo', 'Lo-Med', 'Med', 'High']

df['category'] = pd.Categorical(df['category'], categories=cat_order, ordered=True)

关于python - 如何使用plotnine对堆叠条形进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52647531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com