使用Seaborn中的FacetGrid重复X轴标签以适用于所有小面板

19

我正在使用在这里展示的FacetGrid示例,其结果是下面的图表。在我的数据集中,有很多图表,希望在每个分面上都重复x轴标签,而不仅仅是在底部。

对于这个例子,值62, ..., 76应该在每个A-J分面上都重复显示。

输入图像描述

2个回答

22

Bazingaa的回答适用于matplotlib 2.0.2版本。对于更新版本的matplotlib,使用ax.tick_params()并设置labelbottom=True似乎可行:

for ax in g.axes.flatten():
    ax.tick_params(labelbottom=True)

5
只需在def label():函数之后添加以下内容。虽然您想要的修改后图形看起来并不那么好。
for ax in g.axes.flat:
    _ = plt.setp(ax.get_xticklabels(), visible=True)

输出结果

在这里输入图片描述


你遇到了什么问题?能提供一下你遇到的错误吗?我刚刚使用了你给出的示例链接,并添加了上面的代码行。 - Sheldore
我没有收到错误信息,但标签没有显示。我正在使用 seaborn 0.9.0。 - Krzysztof Słowiński
我也在使用 0.9.0 版本,而 matplotlib 的版本是 2.0.2 - Sheldore
1
这是一个 matplotlib 的问题。你的解决方案适用于 matplotlib 2.0.2,但不适用于 2.2.3。 - DavidG
是的,我也这么认为。我会尝试使用更高版本并更新我的答案。 - Sheldore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接