在 seaborn boxplot 中旋转 xtick 标签?

Rotate xtick labels in seaborn boxplot?

我有一个问题与 2014 年的一个问题基本相同(参见 here)。但是,我的脚本仍然会报错。

我是这样做的:我有一个包含几列的 pandas 数据框。我绘制了一个简单的箱线图比较。

g = sns.boxplot(x='categories', y='oxygen', hue='target', data=df)
g.set_xticklabels(rotation=30)

图形如下所示:

我想将 x 标签旋转 30 度。因此我使用 g.set_xticklabels(rotation=30)。但是,我收到以下错误:

set_xticklabels() missing 1 required positional argument: 'labels'

我不知道如何将 matplotlib labels 参数传递给 seaborns sns.boxplot。有任何想法吗?

您 link 的问题使用 factorplot。因子图 returns 它自己的 class 有一个名为 set_xticklabels(rotation) 的方法。这与 matplotlib Axesset_xticklabels 方法不同。

在 linked 问题的答案中,您还可以使用其他选项

ax = sns.boxplot(x='categories', y='oxygen', hue='target', data=df)
ax.set_xticklabels(ax.get_xticklabels(),rotation=30)

ax = sns.boxplot(x='categories', y='oxygen', hue='target', data=df)
plt.setp(ax.get_xticklabels(), rotation=45)

如果不需要重置标签:ax.tick_params(axis='x', labelrotation=90)