问题:
使用set_xticklabels
设置x轴标签的旋转时,所有标签都将被打印。
代码
winner_freq = pd.DataFrame(player_match.winner.value_counts().reset_index())
winner_freq_plot = sns.barplot(x='index', y='winner', data=winner_freq)
winner_freq_plot.set_xticklabels(winner_freq_plot.get_xticklabels(), rotation=90)
屏幕截图
我尝试解决的问题
我不知道如何解决它并用谷歌搜索,但没有答案,因此我将标签分别放在列表中,并放入set_xticklabels
内,但还是没有运气。
预先感谢:)
答案 0 :(得分:1)
这实际上不是错误,而是matplotlib
使用的seaborn
的特征。它的大多数函数都以某种方式返回表示它们已执行的计算的值。
在这种情况下,set_xticklabels
修改刻度标签,该标签是用Text
对象绘制的。返回的是收集在Text
中的list
个对象。
您认为被“打印”的标签只是Jupyter笔记本,将list
表示为文本。
如果您不希望看到此结果,可以将结果分配给一个一次性变量,如下所示:
_ = winner_freq_plot.set_xticklabels(winner_freq_plot.get_xticklabels(), rotation=90)
也就是说,请注意_
通常绑定到最后一个返回值,您将通过这样做来覆盖它。
一种替代方法是简单地在代码中附加一个pass
语句。由于Jupyter将呈现单元格中最后一条语句的返回值,而pass
不返回任何内容,因此您将不会获得任何输出。
答案 1 :(得分:1)
如果你正在使用 jupyter notebook
ax.set_xticklabels(...); <- 行以分号结束。