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

如何仅绘制热力图的Colorbar(颜色条)而不显示热力图本身?

仅绘制热力图对应的颜色条(不显示热力图)

有两种简洁的方法可以实现只显示颜色条、隐藏热力图的需求:

方法一:直接创建独立颜色条(推荐)

不需要绘制完整热力图,直接基于数据范围和目标颜色映射生成颜色条,效率更高:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

# 生成示例数据
A = np.random.rand(100,100)

# 获取数据的极值,保证颜色条范围和原热力图一致
vmin, vmax = A.min(), A.max()
# 选用seaborn热力图默认的颜色映射(可替换为'coolwarm'等其他配色)
cmap = sns.color_palette("viridis", as_cmap=True)

# 创建仅容纳颜色条的画布和轴(调整figsize控制颜色条的长宽比例)
fig, cax = plt.subplots(figsize=(0.5, 5))
fig.subplots_adjust(left=0.5)  # 调整位置避免颜色条被裁剪

# 生成颜色条
colorbar = plt.colorbar(
    plt.cm.ScalarMappable(norm=plt.Normalize(vmin=vmin, vmax=vmax), cmap=cmap),
    cax=cax
)

# 可选:给颜色条添加标签
colorbar.set_label('数值区间')

plt.show()

方法二:绘制热力图后隐藏主图

先绘制完整热力图,再隐藏承载热力图的轴,只保留颜色条:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

A = np.random.rand(100,100)

fig, ax = plt.subplots()
# 绘制热力图
g = sns.heatmap(A, ax=ax)
# 隐藏热力图的轴(不显示热力图)
ax.set_visible(False)

# 可选:调整布局让颜色条显示更合理
plt.subplots_adjust(right=0.3)

plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:20:01