python - FacetGrid 轴跨行共享 x 轴/跨列共享 y 轴

标签 python matplotlib seaborn

FacetGrid来自 seaborn 创建一个 subpot 网格,允许您探索数据集中的条件关系。

函数接受的两个关键字参数是 sharexsharey,根据文档:

share{x,y} : bool, optional

If true, the facets will share y axes across columns and/or x axes across rows.

但我没有看到任何其他方法来控制分面/子图共享轴的方式。所以来了...

问题:

有什么方法可以跨列共享 x 轴和/或跨行共享 y 轴?

我正在尝试针对不同条件(按列和色调)获取不同数量(按行)的密度图。因此,我希望我的子图跨行共享 x 轴和 y 轴,但不跨列链接。

最佳答案

没有正确记录,但这些参数直接传递给 plt.subplots,它允许您将这些参数的值设置为 "row"“col” 以便轴仅在行或列内共享,而不是在整个网格中共享。

我不确定我是否完全理解你希望你的情节看起来如何,但我认为你可以这样做:

tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="smoker", row="time", sharey="col")
g.map(plt.hist, "total_bill")

也就是说,一般来说,我会尝试在网格中共享轴(即,将绘图结构化为跨行而不是跨列共享 y 轴)以简化视觉比较。

关于python - FacetGrid 轴跨行共享 x 轴/跨列共享 y 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36016736/

相关文章:

python - 尝试在 for 循环中从用户列表中插入值会引发 IndexError

python - 如何检测时间序列数据的变化是否不再显着?

matplotlib - 从 seaborn 中的 FacetGrid 中删除 yaxis 值

python - "shaded"matplotlib 中的水平条

python-3.x - 如何为高维数据集绘制热图?

python - Seaborn 无法识别列名称

python - 内置属性错误: 'module' object has no attribute 'one_tile'

python - Pandas 堆积条形图中元素的排序

python - 如何获取使用 "melt"分组的 seaborn 计数图中条形上方的值

python - 如果存在则删除表说 "Unknown table"? [MySQL]