>我有一个有 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
现在,以同样的方式,我可以创建其他两个热图。我的问题是,我可以组合其中两个(例如,保持水平轴相同并为其他两列添加两个垂直轴(创建一个包含整个三元组对应的热图吗?
抱歉,如果我的问题看起来有点模糊,但我正在尝试查看是否有方法以热图的风格可视化三向对应关系。
此链接可以帮助您: 在 matplotlib 中组合多个热图
上面链接中的答案之一: 有几个选项可以同时显示 2 个数据集:
选项 1 - 绘制 2 个数据集差异的热图(或比率,以更适合您的情况为准(
pcolor(D2-D1)
然后提出其中的几个比较数字。
选项 2 - 将 1 个数据集呈现为 pcolor,另一个显示为计数:
pcolor(D1)
contour(D2)
如果你真的需要同时显示 N>2 个数据集,我会选择轮廓或轮廓:
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 个轮廓命令的示例输出
不幸的是,Simiar alpha 技巧不适用于 pcolor。