如何调整 Seaborn 中因子图中标签之间的间距

How can I adjust the spacing between labels in a factorplot in Seaborn

我一直非常喜欢 Pandas 和 Seaborn 的惊人组合,以满足我的数据分析和绘图需求。这足以阻止我仅仅为了数据帧和 ggplot 走上学习 R 的道路;P。我对 seaborn 中的因子图及其在 x 轴上放置标签的方式有一个小问题。下面是给我带来麻烦的例子:

基本上,我想 "fix" x 轴标签,以便最后一列“>=35”不是 "squished"(即与前面的标签重叠)。是否有捷径可寻?我想出了一个临时解决方案,将“>=”编码为 un​​icode 并在标签前添加一个额外的 space,但最好有一个通用解决方案来强制标签之间的间距。

这些只是整数位置的 matplotlib 轴刻度标签。所以你可以做

df = pd.DataFrame(dict(x=np.repeat(np.arange(21), 10), y=np.random.randn(210)))
df.loc[df.x == 20, "x"] = ">= 20"

g = sns.factorplot(x="x", y="y", data=df, kind="box")
g.axes[0, 0].set_xticks(range(20) + [20.5])

(请注意,版本 0.6+ 在单轴 FacetGrid 对象上有一个 ax 属性,这将使访问这些方法更容易一些)