推荐用seaborn这个库中的函数来快速实现热图的绘制。可以通过
1 | pip install seaborn |
来安装这个库。
直接上绘图代码:
1 | import numpy as np |
图形输出:
以下是sns.heatmap函数所支持的参数:
参数
- data:二维数据集,可以是 ndarray 数组。如果提供 Pandas DataFrame,则会使用其索引/列信息来标记行和列。
- vmin, vmax:浮点数,可选。用于锚定颜色映射的值,否则会根据数据和其他关键字参数进行推断。
- cmap:Matplotlib 的颜色映射名称或对象,或颜色列表,可选。数据值到颜色空间的映射。
- center:浮点数,可选。用于绘制差异性数据时设置颜色映射的中心值。如果使用此参数,且未指定 cmap,则会更改默认的颜色映射。
- robust:布尔值,可选。如果为 True,且未指定 vmin 或 vmax,则将使用健壮的分位数计算颜色映射范围,而不是使用极端值。
- annot:布尔值或二维数据集,可选。如果为 True,则在每个单元格中写入数据值。如果是与数据形状相同的类数组,则使用其来标注热图,而不是使用数据。注意,DataFrame 将根据位置匹配,而不是索引。
- fmt:字符串,可选。添加注释时要使用的字符串格式化代码。
- annot_kws:字典,可选。当 annot 为 True 时,用于 matplotlib.axes.Axes.text() 的关键字参数。
- linewidths:浮点数,可选。单元格之间分隔线的宽度。
- linecolor:颜色,可选。单元格之间分隔线的颜色。
- cbar:布尔值,可选。是否绘制颜色条。
- cbar_kws:字典,可选。用于 matplotlib.figure.Figure.colorbar() 的关键字参数。
- cbar_ax:Matplotlib Axes 对象,可选。颜色条的绘制位置,否则将从主要 Axes 中获取空间。
- square:布尔值,可选。如果为 True,则将 Axes 的纵横比设置为“equal”,使每个单元格都成为正方形。
- xticklabels, yticklabels:字符串“auto”、布尔值、类列表或整数,可选。如果为 True,则绘制数据框的列名。如果为 False,则不绘制列名。如果是类似列表的对象,则将其作为 xticklabels 绘制替代标签。如果是整数,则使用列名,但仅每 n 个标签绘制一次。如果为“auto”,则尝试密集绘制非重叠标签。
- mask:布尔数组或 DataFrame,可选。如果传递了 mask,则数据在 mask 为 True 的单元格中将不显示。具有缺失值的单元格会自动被屏蔽。
- ax:Matplotlib Axes 对象,可选。要绘制图表的 Axes,否则使用当前正在使用的 Axes。