调用 set_xticklabels 时打印标签

Thi*_*ker 10 python pandas seaborn jupyter-notebook

问题:

使用 设置 x 轴标签的旋转时,将打印所有标签set_xticklabels

代码

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)
Run Code Online (Sandbox Code Playgroud)

截屏

在此处输入图片说明

修复我试过的

我不知道如何修复它并用谷歌搜索但没有答案,所以我将标签单独放在一个列表中并在其中输入set_xticklabels但仍然没有运气。

提前致谢 :)

gmd*_*mds 11

这并不是一个真正的错误,而是 , 的一个特征matplotlib,它seaborn使用。它的大多数函数返回值以某种方式表示它们已执行的计算。

在这种情况下,set_xticklabels修改用对象绘制的刻度标签Text。返回的是那些Text收集在 a 中的对象list

您认为“打印”的标签只是您的 Jupyter 笔记本,将其表示list为文本。

如果您不想看到这一点,请在单元格中最后一条语句的末尾使用分号以防止其输出。

或者,您可以将结果分配给一次性变量,如下所示:

_ = winner_freq_plot.set_xticklabels(winner_freq_plot.get_xticklabels(), rotation=90)
Run Code Online (Sandbox Code Playgroud)

也就是说,请注意,_通常绑定到最后一个返回值,您将通过这样做来覆盖它。

另一种选择是简单地将pass语句附加到您的代码中。由于 Jupyter 将呈现单元格中最后一条语句的返回值,并且不pass返回任何内容,因此您不会得到任何输出。

  • 在单元格中最后一条语句的末尾使用分号以防止其输出。关于这个已经有很多问题和答案,所以最好投票结束而不是再次回答。 (4认同)