You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Seaborn热力图中颜色条的文本颜色

修改Seaborn热力图颜色条刻度文字颜色为黄色

要修改热力图颜色条(colorbar)上的数字颜色,你需要单独获取每个热力图对应的颜色条对象,再设置其刻度文字样式——这部分和坐标轴刻度的设置是独立的。以下是调整后的完整代码:

import seaborn as sns
import matplotlib.pyplot as plt

# 假设line_df、total_df为已定义的DataFrame
fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(12,6))
fig.set_facecolor("Blue")

# 绘制第一个热力图并设置样式
sns.heatmap(line_df, ax=ax1, annot=True, 
            annot_kws={'fontsize': 16, 'fontweight':'bold'}, 
            xticklabels=line_df.columns, yticklabels=line_df.index, 
            cbar_kws={'orientation':'vertical'})
ax1.yaxis.label.set_color("Blue")
ax1.tick_params(colors="yellow")
# 获取第一个热力图的颜色条,修改刻度文字为黄色
cbar1 = ax1.collections[0].colorbar
cbar1.ax.tick_params(colors='yellow')

# 绘制第二个热力图并设置样式
sns.heatmap(total_df, ax=ax2, annot=True, 
            annot_kws={'fontsize': 16, 'fontweight':'bold'}, 
            xticklabels=total_df.columns, yticklabels=False, 
            cbar_kws={'orientation':'vertical'})
ax2.get_yaxis().set_visible(False)
ax2.tick_params(colors="yellow")
# 获取第二个热力图的颜色条,修改刻度文字为黄色
cbar2 = ax2.collections[0].colorbar
cbar2.ax.tick_params(colors='yellow')

fig.tight_layout()
plt.show()
plt.close()

关键说明:

  • 热力图的颜色映射对象存储在对应Axes的collections列表中,通过ax.collections[0].colorbar可获取到该热力图的颜色条实例
  • 调用cbar.ax.tick_params(colors='yellow')即可将颜色条上的刻度文字改为黄色
  • 调整了fig.set_facecolor("Blue")的位置(需在创建fig对象后调用,否则会报错)

内容的提问来源于stack exchange,提问作者Boobaloo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 00:24:26