【发布时间】:2019-05-30 18:58:45
【问题描述】:
我是 seaborn 的新手,我目前正在使用 pairplot 的功能......使用以下功能
seaborn.pairplot(data,
hue="Class",
diag_king="hist",
diag_kws={'alpha'=0.5}
)
我能够实现我想要的大部分内容:来自我的pandas 数据框data 的散点图网格,根据Class 列的不同分布,以及沿对角线的半透明直方图。
我发现通过将 bin=[...] 传递给 diag_kws 我可以让所有对角线图采用该分箱,但我希望我的数据框的每一列都从一个专用的字典(键是列名)。
是否可以使用diag_kws 实现这一目标?或者我是否需要在调用pairplot 后单独访问每个对角线图并手动重新绑定它们?最有效的方法是什么?
【问题讨论】:
-
PairGrid提供map_diag可以用来映射自定义函数,该函数会更改每次调用中的参数。 -
@ImportanceOfBeingErnest 感谢您的建议!我知道如何将
pyplot方法与map_diag一起使用,但是如何构建一个自定义函数来访问正在绘制的变量的名称? -
我猜
FacetGrid的map_dataframe不等于PairGrid,对吧?在这种情况下,需要有创造力。例如。函数被调用的次数表示它当前在哪个轴上工作,或者当前轴在网格中的位置......不过我还没有尝试过。 -
好的,在调用
g = seaborn.pairplot(...)之后,我可以遍历g.axes的对角线元素并尝试在那里设置垃圾箱......这似乎过于hacky,但我想它必须做... :) -
嗯,我不是这个意思,但当然也有可能。我在下面提供了我的建议作为答案。
标签: python matplotlib seaborn