matplotlib 更改多个条形图中条形的顺序[重复]

mf98qq94  于 2023-05-23  发布在  其他
关注(0)|答案(1)|浏览(146)

此问题已在此处有答案

Seaborn Bar Plot Ordering(6个回答)
Order Grouped Barplot in Seaborn(1个答案)
9个月前关闭。
大家好,我想问一下如何改变我的多条图的顺序?

我想在顶部的y轴上设置“是”,在底部的y轴上设置“否”。
这就是dataframe:

这是我的代码:

plt.figure(figsize=(12,8))
sns.barplot(x=df_3['Jumlah'],y=df_3['Use Phone Service'],hue=df_3['Is Senior Citizen'],
            order=df_3.sort_values('Use Phone Service',ascending=False)
plt.show()

我得到了这样一个奇怪的结果:

有什么解决办法吗?

ecr0jaav

ecr0jaav1#

在这里,你需要在.sort_values()后面指定特定的列,否则它会像你一样使用整个df,其次你需要获得唯一的值,否则它会使用Y轴上列的所有值。

plot_order = df_3.sort_values(by='Use Phone Service', ascending=False)['Use Phone Service'].unique()

plt.figure(figsize=(12,8))
sns.barplot(x='Jumlah',y='Use Phone Service',hue='Is Senior Citizen',
            data=df_3,   order=plot_order)
plt.show()

输出:

相关问题