我正在尝试使用热图创建单个图像,该图像分别表示每个标签的数据点特征的相关性。有了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/