Seaborn heatmap中自定义文本标签内容

在Seaborn的heatmap中,启用`annot=True`可在方格上显示数据。若要展示自定义内容,如添加标准差信息,可将结果与标准差合并为字符串并设置`fmt='s'`防止数值格式错误。通过这种方式,可以在原始数据基础上展示额外信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般在seaborn中使用heatmap,想在方格上显示结果,需要将annot设置为True。

sns.heatmap(result, cmap='Blues_r', annot=True, annot_kws={"fontsize":16}, linewidths=1, vmax=100, vmin=0)     

这样就可以在heatmap上显示出result的内容,如下图所示。

如果想在格子里放自己定义的内容,或者在原数据的内容上加点东西,可以再自行定义。

例如:将result和另一个维度相同的result_std合并成一个str,原数据保持,后者扩在括号里,并进行显示,可以这样定义,

 labels = (np.asarray(["{:.1f} ({:.2f})".format(string, value)
                              for string, value in zip(result.flatten(),
                                                       result_std.flatten())])
           ).reshape(3, 3)

并且设置

 annot=labels
### seaborn.heatmap 参数详解 #### 基本功能描述 `seaborn.heatmap` 是用于绘制热力图的强大工具,能够直观展示二维数据矩阵中的数值分布情况。通过不同的参数配置,可以实现丰富的可视化效果。 #### 主要参数解析 - **data**: (DataFrame, 2D ndarray) 待可视化的矩形数据集。 - **vmin**, **vmax**: (floats, optional) 定义颜色映射的颜色范围边界值。当未指定时,默认采用输入数据的最大最小值作为界限;反之,则依据设定的具体数值进行渲染[^2]。 - **center**: (float, optional) 中心化颜色比例尺的位置,在某些情况下有助于突出显示特定区间内的变化趋势。 - **robust**: (bool, optional) 若设为 `True` ,则利用更加稳定的方式计算上下限而非极端值,这特别适用于处理含有异常点的数据集,使得图像表现更为合理。 - **annot**: (bool or rectangular dataset, optional) 控制是否在单元格内标注实际数值,默认关闭此选项可保持图形简洁美观;开启后能提供额外的信息辅助解读图表内容。 - **fmt**: (str, optional) 当启用注释(`annot`)时使用的字符串格式化模式,如`.2g`表示保留两位有效数字的形式呈现数值。 - **linewidths**: (numeric, optional) 单元格间的线条宽度,适当增加该属性可以让不同区域之间的区分更加清晰明了。 - **linecolor**: (matplotlib color, optional) 设定网格线的颜色样式,配合上述线条粗细共同作用于视觉层次感塑造上。 - **cbar**: (boolean, optional) 是否附加右侧的颜色条以帮助理解色彩所代表的意义。 - **cbar_kws**: (dict of key,value mappings, optional) 对附带的颜色条进一步定制其外观特征,比如尺寸大小、标题文字等细节之处皆可通过字典形式传递给绘图函数做个性化调整。 - **square**: (boolean, optional) 强制每个方块都成为正方形形状,对于希望维持纵横比一致性的场景十分有用。 - **xticklabels**, **yticklabels**: (lists of label texts, int, or booleans, optional) 自定义X轴/Y轴上的刻度标签文本列表,亦或是简单地控制它们可见与否的状态开关。 - **mask**: (boolean array or DataFrame, optional) 掩码数组用来隐藏不需要展现出来的部分位置,通常与缺失值处理相结合达到理想的效果。 - **ax**: (matplotlib Axes, optional) 绘图所在的坐标系实例对象,允许在同一画布下组合多个子图布局结构。 - **cmap**: (matplotlib colormap name or object, or list of colors, optional) 色彩渐变方案的选择至关重要,它决定了整个画面最终呈现出怎样的色调风格,支持多种预置配色表以及自定义调色板方式[^3]。 ```python import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 创建随机数构成的样本数据框 np.random.seed(0) uniform_data = np.random.rand(10, 12) # 使用默认设置绘制基础版本的热力图 plt.figure(figsize=(10, 8)) sns.heatmap(uniform_data, cmap="YlGnBu", annot=True, fmt=".1f") plt.show() ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值