如何将热力图色条刻度设置为白色并向内显示
调整Seaborn热力图色条刻度样式(仿ggplot效果)
要实现色条刻度白色且向内的效果,只需在原代码中添加色条刻度的样式配置即可,修改后的完整代码如下:
import matplotlib.pyplot as plt import matplotlib import seaborn as sns import numpy as np matplotlib.rcParams.update({"figure.dpi": 96}) np.random.seed(7) A = np.random.randint(0,100, size=(20,20)) cmap = matplotlib.cm.get_cmap('viridis').copy() g = sns.heatmap(A, vmin=10, vmax=90, cmap=cmap, cbar_kws={}) # 获取色条对象 cbar = g.collections[0].colorbar tick_locations = [*range(15, 86, 10)] cbar.set_ticks(tick_locations) cbar.set_ticklabels(tick_locations) # 配置色条刻度样式,实现白色+向内效果 cbar.ax.tick_params( axis='y', color='white', # 刻度线颜色设为白色 labelcolor='white', # 刻度文字颜色设为白色 direction='in', # 刻度向内显示 length=6 # 调整刻度线长度,贴近ggplot视觉效果 ) plt.show()
关键说明
- 补上原代码缺失的
matplotlib.pyplot导入,确保plt.show()正常运行; - 通过
cbar.ax.tick_params()直接对色条的轴对象进行样式设置:axis='y':垂直方向的色条,刻度对应y轴;direction='in'是实现刻度向内的核心参数;- 同时设置
color和labelcolor为白色,匹配参考图的视觉效果。
内容的提问来源于stack exchange,提问作者Simd
相关产品推荐
相关产品推荐

