我有一个包含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
现在,以相同的方式,我可以创建其他两个热图。我的问题是,是否可以将其中两个结合起来(例如,将水平轴保持不变,并为其他两列添加两个垂直轴),创建一个包含整个三元组对应关系的热图?
很抱歉,我的问题似乎有点含糊,但是我试图查看是否存在以热图样式可视化三向对应关系的方法。
答案 0 :(得分:1)
此链接可以帮助您: Combine multiple heatmaps in matplotlib
以上链接中的一个答案: 有一些选项可以一起显示2个数据集:
选项1-绘制两个数据集(或比率,视情况而定)之差的热图
pcolor(D2-D1)
,然后列出其中几个比较数字。
选项2-将1个数据集显示为pcolor,将另一个数据集显示为countour:
pcolor(D1)
contour(D2)
如果您确实需要同时显示N> 2个数据集,则可以使用轮廓线或轮廓线f:
contourf(D1,cmap='Blues')
contourf(D2,cmap='Reds', alpha=0.66)
contourf(D2,cmap='Reds', alpha=0.33)
3个轮廓f命令的示例输出
或
contour(D1,cmap='Blues')
contour(D2,cmap='Reds')
contour(D2,cmap='Reds')
3个轮廓命令的示例输出
不幸的是,类似的alpha技巧不适用于pcolor。