Python 旋转seaborn条形图的记号标签

Python 旋转seaborn条形图的记号标签,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,我试图显示带有旋转x轴标签的图表,但该图表未显示 import seaborn as sns %matplotlib inline yellow='#FFB11E' by_school=sns.barplot(x ='Organization Name',y ='Score',data = combined.sort('Organization Name'),color=yellow,ci=None) 此时,我可以看到图像,但在设置xticklabel后,我不再看到图像,只看到对象引用。(我

我试图显示带有旋转x轴标签的图表,但该图表未显示

import seaborn as sns
%matplotlib inline

yellow='#FFB11E'
by_school=sns.barplot(x ='Organization Name',y ='Score',data = combined.sort('Organization Name'),color=yellow,ci=None)
此时,我可以看到图像,但在设置xticklabel后,我不再看到图像,只看到对象引用。(我会发布图片,但我没有足够的声誉:()

by_school.set_xticklabels('Organization Name',rotation=45)

这里发布了一个类似的问题:但解决方案不起作用。

您需要一个不同的方法调用,即
。为每个
可勾选的
设置旋转。
由于您已经有了标签,只需更改其旋转:

for item in by_school.get_xticklabels():
    item.set_rotation(45)

barplot
返回一个
matplotlib.axes
对象(自
seaborn
0.6.0起),因此必须以这种方式旋转标签。在其他情况下,当方法返回
FaceGrid
对象时,请参考如果您来这里旋转标签,以下操作应该有效(基于at)


使用以下代码语句:

by_school.set_xticklabels(by_school.get_xticklabels(), 
                          rotation=90, 
                          horizontalalignment='right')
这对我很有用:

g.fig.autofmt_xdate()

您可以像这样旋转seaborn XTICK:

sns.barplot(x='Organization Name', y='Score', data=df)

plt.xticks(rotation=70)
plt.tight_layout()

您是否在创建标签的同一笔记本单元中旋转标签?您需要确认我没有旋转标签,但现在我遇到了此错误:setxticklabels()至少接受2个参数(1个给定参数)也可以执行
plt.setp(by_school.getxticklabels(),rotation=45)
以节省一行代码:)另外,
setxticklabels
没有定位(不像
plt.xticks
,这是状态机/面向对象API中令人讨厌的不一致性的一个例子),但是原始代码不起作用,因为OP只是传递一个字符串,而不是标签列表。您也可以使用
plt.xticks(rotation='vertical')
如果您将matplotlib.pyplot作为plt导入。要使答案成为一行(如果保存一行很重要):
[item.set_rotation(45)for item in by_school.get_xticklabels()]
AttributeError:“AxesSubplot”对象在尝试复制时没有属性“xticks”
。有什么想法吗?@bmc:matplotlib的
?对于版本
2.0.0
plt.xticks()
工作:
导入seaborn作为sns;作为pd进口大熊猫;输入numpy作为np;导入matplotlib.pyplot作为plt;df=pd.数据帧(np.眼睛(3)、范围(3)、范围(3));hm=sns.热图(df);plt.xticks()
还添加
horizontalalignment='right'
以便标签与刻度匹配。非常简单!非常感谢。这似乎是最好的解决办法
g.fig.autofmt_xdate()
sns.barplot(x='Organization Name', y='Score', data=df)

plt.xticks(rotation=70)
plt.tight_layout()