如何改善这个seaborn countplot?

时间:2017-12-31 14:43:24

标签: python pandas seaborn

我使用以下代码使用seaborn在python中生成countplot:

sns.countplot( x='Genres', data=gn_s)

但我得到了以下输出:

output

我不能清楚地看到x轴上的项目,因为它们是重叠的。我怎么能纠正这个? 此外,我希望所有项目按计数递减顺序排列。我怎样才能做到这一点?

2 个答案:

答案 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)