python使用seaborn画热力图中设置colorbar图例刻度字体大小
python使用seaborn画热力图中设置colorbar图例刻度字体大小
1. 问题描述
使用matplotlib.pyplot画带色标(colorbar)的图时候,可以设置x,y轴坐标字体的大小,但没有办法设置图例刻度条字体的大小。期望效果如下如所示。
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. 效果