python - 如何从python中的两个一维数组中绘制相似度热图?
问题描述
我有两个数组如下,
a = np.array([5., 10., 20., 19., 1., 10., 60.])
b = np.array([7., 10., 10., 17., 20., 0., 50.])
我希望能够绘制一个热图,显示数组 a 与数组 b 的接近程度。如果可能,在鼠标悬停时显示 a 值和 b 值。例如,数组 a 中的 1 与数组 b 中的 20 不接近——应该是较浅的颜色,等等。知道从哪里开始吗?谢谢你。
解决方案
你的数据代表什么?有很多方法可以比较事物并确定它们是否不同。您可以计算差异、比率等。如果没有更多上下文,就没有正确的方法来解决您的问题。
如果您的两个值应该成比例,我会将它们绘制为散点图,每个值都作为轴
import pandas as pd
a = np.array([5., 10., 20., 19., 1., 10., 60.])
b = np.array([7., 10., 10., 17., 20., 0., 50.])
df = pd.DataFrame({'a': a, 'b': b})
df.plot.scatter(x='a', y='b')
import seaborn as sns
ax = sns.regplot(data=df, x='a', y='b', robust=True)
如果您真的想使用热图,我会选择集群图,因为这会将相似的值和不同的值分开:
sns.clustermap(df)
使用annot=True
参数显示值:
推荐阅读
- reactjs - setState 在本机反应(博览会)中未正确设置值
- python - 根据键列值 pandas 将一个数据帧中的行与另一个数据帧匹配
- javascript - 删除自动完成下拉箭头
- html - p 元素前的空格
- c# - NuGet 包库中的依赖注入
- java - 使用 Gradle 在 Linux 服务器上部署 JavaFX11 for Windows
- react-native - 如何在导航时停止反应原生平面列表返回到起始项目
- c++ - 点云库不适用于 Visual Studio 2019
- python - python检查两个对象是否具有相同的内存地址
- amazon-web-services - 从 AWS Rekognition 中存储的视频中存储检测到的人脸