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() 函数绘制热力图。您可以根据实际数据和需求调整参数,以得到符合您期望的可视化效果。
运行结果
存档地址:https://www.yuque.com/worthstudy/study/oh0em6fsblfgn4uq?singleDoc# 《seaborn.heatmap()》
© 版权声明
文章版权归作者所有,如需转载请联系作者。若文章内容侵犯了您的权益,请通过网站底部联系方式联系我们处理(本站具有最终解释权)。如有不便之处,敬请谅解。
THE END
暂无评论内容