【发布时间】:2020-01-13 09:58:07
【问题描述】:
我有一个包含 3 列的数据框。每列都包含一些“标签”。我想研究三列标签之间的对应关系。因此,我为每对列创建了 3 个热图,显示一对标签出现的次数。
例如:
colA | colB | colC
dog car USA
cat plane Germany
fish truck Spain
eagle bike France
dog car USA
eagle train UK
上面前两列的热图是:
dog 2 0 0 0 0
cat 0 1 0 0 0
fish 0 0 1 0 0
eagle 0 0 0 1 1
car plane truck bike train
现在,以同样的方式,我可以创建另外两个热图。我的问题是,我可以将其中两个(例如保持水平轴相同并为其他两列添加两个垂直轴)创建一个包含整个三元组对应关系的热图吗?
对不起,如果我的问题似乎有点含糊,但我想看看是否有办法以热图的样式可视化三向对应关系。
【问题讨论】:
-
如果您能解释一下热图应该是什么样子,将会有所帮助。选项可能是heatmap-drawing-circles-within-tiles,或matshow-but-with-triangles,或Plotting two distance matrices together on same plot?
-
另外,如果至少两列的唯一类别数不同怎么办?
-
@ImportanceOfBeingErnest:关于唯一类别的数量,即使您停在每列的不同行,是否有可能沿着数据框向下直到数字相等?关于风格,这个stackoverflow.com/a/44293388/5016028 会很好,但我不知道如何适应我的情况,因为我真的不明白那里的代码。
-
A 列有 4 个类别,C 列有 5 个类别。我不知道那个热图应该是什么样子。但是,如果您可以创建相同形状的相应矩阵,则可以应用任何链接(即使不了解它们)。
标签: matplotlib seaborn heatmap