如何在FaceGrid中不共享轴
问题描述
我尝试在数据帧df
中绘制KDE的每一列,最后一列是布尔值,我使用
sns.pairplot(df, hue='last', palette={True: "#FF0000", False: "#0000FF"}, diag_kind='kde')
这为所有列提供了不错的KDE。但是,我并不是真的想成对比较每一列;我只想看看KDE根据last
的值有何不同。然而,没有其他方法是那么优雅的。我见过的唯一另一种选择是使用FacetGrid
,但它有一个缺陷,即轴限制都是相同的。我只是找不到一种很好的方法来可视化每一列及其与上一个布尔列的关系。
解决方案
我只需要将FacetGrid.__init__
和sharey
中的sharex
和sharey
设置为False
:
sns.FacetGrid(data=df.melt(id_vars=['last']), col="variable", hue="last",
palette={True: "#FF0000", False: "#0000FF"}, sharex=False,
sharey=False, col_wrap=4).map(sns.kdeplot, 'value', shade=True)
相关文章