Seaborn heatmap()函数:打造专业级数据热力图指南

seaborn.heatmap() 是 Seaborn 库中用于绘制热力图(Heatmap)的函数。热力图是一种数据可视化工具,通过颜色深浅或色调变化来表示数据矩阵中各元素(通常是数值型数据)的大小或强度。在 Seaborn 中,heatmap() 函数主要用于展示二维数组(如方差-协方差矩阵、相关系数矩阵、p值矩阵等)或 pandas DataFrame 的可视化。

函数签名

seaborn.heatmap(data, cmap=None, center=None, robust=False, annot=None, fmt=".2g", annot_kws=None,
                linewidths=0.5, linecolor="white", cbar=True, cbar_kws=None, cbar_ax=None,
                square=False, xticklabels=True, yticklabels=True, mask=None, ax=None, **kwargs)

主要参数说明

  • data (2D array-like or DataFrame): 需要绘制的二维数据。可以是 numpy 数组、pandas DataFrame 或类似的数据结构。
  • cmap (str or matplotlib colormap, optional): 热力图使用的颜色映射。默认为 ‘viridis’。可以指定其他内置的颜色映射(如 ‘coolwarm’, ‘Blues’ 等),或者使用 matplotlib.pyplot.colormaps() 列出所有可用的颜色映射。
  • center (float, optional): 颜色映射的中心值,用于对称颜色映射。默认为数据的中位数。
  • robust (bool, optional): 是否使用数据的稳健(robust)范围来计算颜色映射的范围。如果为 True,将忽略异常值,适用于数据分布有偏的情况。默认为 False。
  • annot (bool, float, array-like, optional): 是否在每个单元格内标注数值。如果为 True,将在每个单元格内显示数值;如果为浮点数,则表示透明度;如果为数组,应与 data 形状相同,用于指定每个单元格的标注内容。默认为 None(不显示标注)。
  • fmt (str, optional): 数值标注的格式字符串。例如,.2g 表示保留两位有效数字的科学计数法。默认为 .2g。
  • linewidths (float, optional): 热力图单元格边框线宽。默认为 0.5。
  • linecolor (str or color, optional): 热力图单元格边框颜色。默认为 ‘white’。
  • cbar (bool, optional): 是否显示颜色条(Colorbar)。默认为 True。
  • cbar_kws (dict, optional): 传递给 matplotlib.figure.Figure.colorbar() 的关键字参数,用于定制颜色条。
  • cbar_ax (Axes, optional): 指定放置颜色条的坐标轴。如果为 None(默认),将在当前图形中自动选择位置。
  • square (bool, optional): 是否使热力图单元格为正方形。默认为 False。
  • xticklabels (bool, list-like, optional): 是否显示 x 轴标签。默认为 True。如果为 False,不显示标签;如果为列表,用作自定义标签。
  • yticklabels (bool, list-like, optional): 是否显示 y 轴标签。默认为 True。用法同 xticklabels。
  • mask (array-like, optional): 用于遮罩数据的布尔数组,与 data 形状相同。True 值对应的数据点不会被绘制。
  • ax (Axes, optional): 指定绘制热力图的坐标轴。如果为 None(默认),将在当前图形中创建新的坐标轴。
  • **kwargs: 传递给 matplotlib.axes.Axes.imshow() 的其他关键字参数,用于进一步定制热力图。

示例代码

import seaborn as sns
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt

# 使用 numpy 创建一个随机数据矩阵
data_matrix = np.random.rand(10, 10)

# 使用 seaborn 绘制热力图
sns.heatmap(data_matrix, cmap='coolwarm')

# 或者使用 pandas DataFrame
df = pd.DataFrame(data_matrix, columns=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'])
sns.heatmap(df, annot=True, fmt=".2f", cmap='YlGnBu', linewidths=.5)

# 显示图形
plt.show()

以上代码展示了如何使用 seaborn.heatmap() 函数绘制热力图。您可以根据实际数据和需求调整参数,以得到符合您期望的可视化效果。

运行结果

图片[1]-Seaborn heatmap()函数:打造专业级数据热力图指南-值得研究

存档地址:https://www.yuque.com/worthstudy/study/oh0em6fsblfgn4uq?singleDoc# 《seaborn.heatmap()》

© 版权声明
THE END
喜欢就点赞支持一下吧,如果觉得不错或日后有所需要,可以收藏文章和关注作者哦。
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容