我使用以下代码使用seaborn在python中生成countplot:
sns.countplot( x='Genres', data=gn_s)
但我得到了以下输出:
我不能清楚地看到x轴上的项目,因为它们是重叠的。我怎么能纠正这个? 此外,我希望所有项目按计数递减顺序排列。我怎样才能做到这一点?
答案 0 :(得分:1)
您可以选择将x-axis
选为垂直方式,例如:
g = sns.countplot( x='Genres', data=gn_s)
g.set_xticklabels(g.get_xticklabels(),rotation=90)
或者,您也可以这样做:
plt.xticks(rotation=90)
答案 1 :(得分:1)
使用matplotlib提前设置轴,以便您可以通过旋转90度和/或更改字体大小来修改轴刻度标签。要按顺序排列样品,您需要修改源。我假设你是从一个pandas数据帧开始的,所以类似于:
data = data.sort_values(by='Genres', ascending=False)
labels = # list of labels in the correct order, probably your data.index
fig, ax1 = plt.subplots(1,1)
sns.countplot( x='Genres', data=gn_s, ax=ax1)
ax1.set_xticklabels(labels, rotation=90)
可能会有所帮助。
编辑从评论中提出andrewnagyeb的建议来订购情节:
sns.countplot( x='Genres', data=gn_s, order = gn_s['Genres'].value_counts().index)