python使用seaborn画热力图中设置colorbar图例刻度字体大小

1. 问题描述

使用matplotlib.pyplot画带色标(colorbar)的图时候,可以设置x,y轴坐标字体的大小,但没有办法设置图例刻度条字体的大小。期望效果如下如所示。

python colorbar位置 python的colorbar设置_数据

2. 解决方案

删除seaborn中默认的条带,设置cbar=False。通过新建一个刻度条,设置其刻度字体。

# 设置字体格式
plt.rc('font', family='Times New Roman')
plt.rcParams["font.weight"] = "bold"
plt.rcParams["axes.labelweight"] = "bold"
# 绘制热力图
h = sns.heatmap(
            data=wind_array, # 指定绘图数据
            cmap='YlGnBu', # 指定填充色'PuBuGn',,jet
            # center=1,
            linewidths=.1, # 设置每个单元格边框的宽度
            annot=False,  # 显示数值
            cbar=False,
            # fmt='.3f',# 以科学计算法显示数据
            vmax=0.6,
            vmin=0,
            xticklabels=('1', '','','4','', '','7','','','10'),
            yticklabels=('1', '','','4','', '','7','','','10'),
# ------------设置颜色条刻度字体的大小-------------------------#
cb = h.figure.colorbar(h.collections[0]) #显示colorbar
cb.ax.tick_params(labelsize=28)  # 设置colorbar刻度字体大小。
# 添加标题, fontweight='bold'
plt.title('AAA', fontsize=35) # 'WS(m/s)'  u'T(°C)'  'P(mbar)'
plt.xticks(fontsize=28)
plt.yticks(fontsize=28)
plt.xlabel('longitude', fontsize=34)  # 经度
plt.ylabel('latitude', fontsize=34)   # 纬度
plt.rcParams['savefig.dpi'] = 600
plt.tight_layout()
plt.savefig('D:\\Data\\aaa')
# 显示图形
plt.show()

3. 效果

python colorbar位置 python的colorbar设置_图例_02