首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sns:调用set_xticklabels后标签消失/清除

sns:调用set_xticklabels后标签消失/清除
EN

Stack Overflow用户
提问于 2020-02-01 18:09:08
回答 1查看 636关注 0票数 0

我使用下面的代码打印了一个海上线条图。

代码语言:javascript
复制
timeplot = sns.lineplot(x='YearMonth', y='count', data=delivered_by_month)

这很好用,但是x轴标签是重叠的,所以我想旋转它们。

因此,我在上面的代码行之后添加了一行代码,如下所示。

代码语言:javascript
复制
timeplot.set_xticklabels(labels=timeplot.get_xticklabels(), rotation=90, ha="right")

现在X轴标签消失了。通过运行下面的代码,我确认所有的标签都被清除了。

代码语言:javascript
复制
for m in timeplot.get_xticklabels():
  print (m)

为此,我得到了如下输出。

代码语言:javascript
复制
Text(0, 0, '')
Text(1, 0, '')
Text(2, 0, '')
Text(3, 0, '')
Text(4, 0, '')

如果我在旋转代码之前打印标签,我会得到如下所示的正确输出。

代码语言:javascript
复制
Text(0, 0, '2010-10')
Text(1, 0, '2010-11')
Text(2, 0, '2010-12')
Text(3, 0, '2010-2')
Text(4, 0, '2010-3')

任何输入都会很有帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-10-19 17:06:33

我刚刚遇到了同样的问题,这对我很有帮助:https://stackoverflow.com/a/41131528/14396570

显然,在绘制图形之前,timeplot.get_xticklabels()是空的,所以您必须在设置x刻度标签之前调用plt.draw(),如下所示:

代码语言:javascript
复制
timeplot = sns.lineplot(x='YearMonth', y='count', data=delivered_by_month)
plt.draw()
timeplot.set_xticklabels(labels=timeplot.get_xticklabels(), rotation=90, ha="right")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60015877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档