[英]Rotate tick labels for seaborn barplot
我正在尝试显示带有旋转 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)
<matplotlib.axes._subplots.AxesSubplot at 0x3971a6a0>
这里发布了一个类似的问题: Rotate label text in seaborn factorplot但解决方案不起作用。
你需要一个不同的方法调用,即.set_rotation
每个ticklable
秒。 由于您已经有了刻度标签,只需更改它们的旋转:
for item in by_school.get_xticklabels():
item.set_rotation(45)
barplot
返回一个matplotlib.axes
对象(从seaborn
0.6.0 开始),因此您必须以这种方式旋转标签。 其他情况,当方法返回一个FacetGrid
对象时,参考在seaborn factorplot中旋转标签文本
使用以下代码语句:
by_school.set_xticklabels(by_school.get_xticklabels(),
rotation=90,
horizontalalignment='right')
你可以像这样旋转seaborn xticks:
sns.barplot(x='Organization Name', y='Score', data=df)
plt.xticks(rotation=70)
plt.tight_layout()
如果您来这里是为了旋转seaborn.heatmap
的标签,则以下应该有效(基于@Aman在旋转 seaborn factorplot 中的标签文本中的回答)
pandas_frame = pd.DataFrame(data, index=names, columns=names)
heatmap = seaborn.heatmap(pandas_frame)
loc, labels = plt.xticks()
heatmap.set_xticklabels(labels, rotation=45)
heatmap.set_yticklabels(labels[::-1], rotation=45) # reversed order for y
这对我有用:
g.fig.autofmt_xdate()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.