本文介绍了如何按升序或降序对海运条形图进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!
问题描述
EXCEL文件包含有关7000 Apple App Store的信息,如下所示
这是我的代码->;
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
apple_store_data = pd.read_excel(r'apple_store.xlsx')
sns.barplot(data=apple_store_data,y='PrimaryGenre',x='AvgRating',color='g')
plt.show()
它给出如下输出->;
推荐答案
若要按字母顺序对栏进行排序,可以使用ordered=True
使列categorical:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
df = pd.DataFrame({'Genre': np.random.choice(['helium', 'neon', 'argon', 'krypton', 'xenon', 'radon', 'oganesson'], 50),
'Rating': np.random.randint(1, 11, 50)})
df['Genre'] = pd.Categorical(df['Genre'], ordered=True)
ax = sns.barplot(data=df, y='Genre', x='Rating', palette='husl')
ax.tick_params(axis='y', length=0)
plt.tight_layout()
plt.show()
要按降序排列条形图,可以使用以下代码。在这种情况下,不需要将该列设置为绝对列。
ax = sns.barplot(data=df, y='Genre', x='Rating', palette='plasma',
order=df.groupby('Genre')['Rating'].agg('mean').sort_values(ascending=False).index)
ps:要仅显示例如前5名,请使用... .index[:5]
:
ax = sns.barplot(data=df, y='Genre', x='Rating', palette='plasma',
order=df.groupby('Genre')['Rating'].agg('mean').sort_values(ascending=False).index[:5])
这篇关于如何按升序或降序对海运条形图进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!