matplotlib - seaborn中的多层热图?
问题描述
我有一个包含 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,将另一个数据集显示为 countour:
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 个 contourf 命令的示例输出
或者
contour(D1,cmap='Blues')
contour(D2,cmap='Reds')
contour(D2,cmap='Reds')
3 个轮廓命令的示例输出
不幸的是,类似的 alpha 技巧不适用于 pcolor。
推荐阅读
- c# - 如何从子状态机获取动画?
- python - 模型的训练、验证和测试精度都很好。但是所有对测试图像的预测结果都属于 0 类?
- angular - 页面加载后量角器找不到元素
- django - “错误”:“invalid_client”django-oauth-toolkit
- parallel-processing - 如何避免矩阵乘法 CUDA 内核中的未合并访问?
- sapui5 - 未显示 GenericTile 中内容的所有内容
- dialogflow-es - 我应该在哪里查看错误“MalformedResponse 无法将 Dialogflow 响应解析为 AppResponse,因为语音响应为空
- c# - 如何将子查询转换为联接以获得快速结果?
- python - 填充
- xamarin - 在单选按钮控件中如何实现单选圈前的文字?