热力图(Heatmap)是一种数据可视化方法,通过颜色来表示数据矩阵中的数值大小,以便更直观地展示数据的分布和模式。热力图在许多领域中都有应用,尤其在统计分析、机器学习、数据挖掘等领域,能够帮助我们快速识别出数据中的潜在规律和关系。
在热力图中,通常使用颜色来表示数据中的相关性强度。具体来说:
- 偏红色(暖色调)通常表示正相关(即两者之间的关系越强,值越高)。
- 偏蓝色(冷色调)通常表示负相关(即两者之间的关系越弱,值越低,甚至负相关时值可能为负数)。
这两种颜色的映射方式是热力图的常见标准。例如,在 Python 的 seaborn
库中,heatmap
函数通常会根据数据矩阵的值自动映射成颜色,红色代表高值,蓝色代表低值。
import panda as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as snssns.set()
sns.set_style('whitegrid',{'font.sans-serif':{'simhei','Arial'}})
实例1:模拟绘制北京景区热度图
df = pd.DataFrame(np.random.rand(4,7),index = ["天安门","故宫","奥林匹克森林公园","八达岭长城"],columns = ["周一","周二","周三","周四","周五","周六","周日"]
)
df
plt.figure(figsize=(10,4))
sns.heatmap(df, annot=True, fmt='.2f', cmp="coolwarm")
实例2:绘制泰坦尼克事件与存亡变量的关系
df = pd.concat([pf.read_csv("./datas/titanic/titanic_train.csv"),pf.read_csv("./datas/titanic/titanic_test.csv")]
)
df.head()
# pandas把字符串类型的列,变成分类数字编码
for field in ["Sex","Cabin","Embarked"]:df[field] = df[field].astype("category").cat.codes# 计算不同变量之间,两两的相关系数
df.corr()
plt.figure(figsize=(12,6))
sns.heatmap(df.corr(), annot=True, fmt=".2f", cmap="coolwarm")
测量目的发送一张图片,然后经过信道估计之后的信道分布进行处理,能否得到一种信道偏移量,光流图?热力图?
参考资料:
科研笔记第13期——热力图绘制 - 知乎
深度学习中,模型可视化,特征图的可视化,CAM热力图可视化_哔哩哔哩_bilibili
热力图可以用于表示两个分类变量的强度关系分布,本视频使用seaborn的heatmap进行演示_哔哩哔哩_bilibili