我正在尝试使用热图创建单个图像,该图像分别表示每个标签的数据点特征的相关性。有了seaborn,我可以像这样为单个类(class)创建一个热图

grouped = df.groupby('target')
sns.heatmap(grouped.get_group('Class_1').corr())

我知道这是有道理的:

但是,然后我尝试列出所有标签的列表,如下所示:
g = sns.FacetGrid(df, col='target')
g.map(lambda grp: sns.heatmap(grp.corr()))

可悲的是,我得到了这个对我来说毫无意义的东西:

最佳答案

事实证明,如果您使用map_dataframe而不是map,那么即使是seaborn也可以相当轻松地完成此操作。

g = sns.FacetGrid(df, col='target')
g.map_dataframe(lambda data, color: sns.heatmap(data.corr(), linewidths=0))

@mwaskom在他的评论中指出,显式设置颜色图的限制可能是一个好主意,以便可以更直接地比较不同的方面。 documentation描述了相关的heatmap参数:

关于python - 使用Seaborn FacetGrid绘制相关热图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29592306/

10-12 18:54