在 seaborn 中使用 FacetGrid 为所有方面重复 x 轴标签
Posted
技术标签:
【中文标题】在 seaborn 中使用 FacetGrid 为所有方面重复 x 轴标签【英文标题】:Repeating x axis labels for all facets using FacetGrid in seaborn 【发布时间】:2019-02-10 10:24:10 【问题描述】:我正在使用FacetGrid
提供的here 示例,结果如下图所示。在我的数据集中,有相当多的图,可以方便地为每个方面重复x
轴标签,而不仅仅是在底部。
对于本例,62, ..., 76
的值应针对每个 A-J
构面重复。
【问题讨论】:
【参考方案1】:Bazingaa 的答案适用于 matplotlib 2.0.2 版。对于较新版本的 matplotlib,使用 ax.tick_params()
和设置 labelbottom=True
似乎可行:
for ax in g.axes.flatten():
ax.tick_params(labelbottom=True)
【讨论】:
【参考方案2】:只需在 def label():
函数后添加以下行。虽然情节看起来没有你想要的修改那么好。
for ax in g.axes.flat:
_ = plt.setp(ax.get_xticklabels(), visible=True)
输出
【讨论】:
什么不适合你?你能提供你遇到的错误吗?我刚刚使用了您提供的示例链接并添加了以上几行 我没有收到错误,但没有显示标签。我正在使用 seaborn 0.9.0 我也在用0.9.0
,matplotlib
版本是2.0.2
我认为这是一个 matplotlib 问题。您的解决方案适用于 matplotlib 2.0.2,但不适用于 2.2.3
是的,我也这么认为。我将尝试使用更高版本并更新我的答案以上是关于在 seaborn 中使用 FacetGrid 为所有方面重复 x 轴标签的主要内容,如果未能解决你的问题,请参考以下文章
在 seaborn facetgrid 的各个方面设置轴限制
seaborn使用FacetGrid函数可视化山脊图(Ridgeline Plot with Seaborn)
如何使用 Seaborn 创建 FacetGrid 堆叠条形图?