Seaborn Pairgrid:如何共享所有非对角线图的轴(即每个图与其镜像共享轴)?

时间:2016-10-18 15:58:25

标签: python-3.x seaborn

我试图绘制一个3x3 sns.PairGrid的情节。目前,轴分别为底部三角形和上部三角形。换句话说,x轴和y轴仅与它们各自的列/行共享。因此,情节(1,0)的x轴与(0,0)(2,0)共享。

但是,我希望所有非对角线图分享他们的轴。例如,我希望(1,0)像以前一样与(0,0)(2,0)分享x轴,但也与 (0,1)分享。

另外,如果y轴与对角线上的图不同,我更喜欢它,因为那些是1-D核密度图,所以如果我分享它们的y轴,其中一些因为概率密度函数的大小不相同而不可见。

这是我当前的代码,如果它有帮助:

我正在相互绘制的3个参数被称为' A'' C'和' logsw',并且包含在{{1调用pandas.DataFrame

hyperparams

这是输出图的一个简单例子:

The images on the bottom left are scaled differently to the images on the upper right, which is what I'm trying to avoid.

左下方的图像与右上角的图像的缩放比例不同,这正是我试图避免的。

2 个答案:

答案 0 :(得分:2)

高级,您可以手动设置x和y限制和刻度线。您还可以将变量设置为要共享的变量,然后仅在3个子图中重复使用该变量。

这样,如果您需要进行调整,则只需更新变量,共享该变量的3个图即可立即全部更新。

过去,我为“配对”网格创建了代码,在该代码中,我以这种方式在所有沿Y轴的子图以及沿X轴的所有图上设置限制和刻度。

答案 1 :(得分:1)

目前无法在Seaborn中自动执行此操作。注释中建议的似乎已解决问题的解决方法是手动为对角线子图设置轴限制。使用x和y限制的变量可确保在更新轴范围时只需在一个位置更改它们。