如何在Python Seaborn热力图中将某一列注释设置为加粗格式
在Seaborn热力图中设置特定列注释为加粗
要实现这个需求,核心是通过Matplotlib的文本对象API修改热力图注释的字体样式,具体步骤如下:
代码示例
import seaborn as sns import matplotlib.pyplot as plt import numpy as np # 生成示例数据(5行4列) data = np.random.rand(5, 4) # 绘制带注释的热力图 ax = sns.heatmap(data, annot=True, fmt=".2f") # 获取所有注释文本对象 annotations = ax.texts # 指定要加粗的目标列(索引从0开始,这里选第2列) target_col = 2 # 遍历注释,修改目标列的字体权重 for idx, text in enumerate(annotations): # 计算当前注释对应的列索引 col_index = idx % data.shape[1] if col_index == target_col: text.set_weight("bold") plt.show()
关键说明
ax.texts会返回热力图中所有的注释文本对象,这些对象遵循行优先的排列顺序- 通过
idx % 数据列数可以计算出每个注释对应的列索引,判断是否为目标列 - 调用
text.set_weight("bold")即可将指定注释的字体设置为加粗 - 若需要调整注释的其他样式(如颜色、字号),可以使用
text.set_color()、text.set_size()等方法
内容的提问来源于stack exchange,提问作者Marc8932
相关产品推荐
相关产品推荐

