简要谈谈常用的colorbar参数。
第一个参数为colorbar传入参数,代表colorbar所关联的contourf/heatmap/cmap/scatter(下面皆以contourf举例),这种方式是最简单的默认传入,绘制出来的colorbar和cf是相匹配的,展示的也是cf的信息。
cf=ax.contourf(... ...)
fig.colorbar(cf)
第二个参数为colorbar绘制的默认子图位置参数,代表当前这个colorbar将要摆放的子图位置。
第三个为指定色条位置参数cax。
第四个为使色条展示尖角的参数extend,他可以使色条展现出角的形状,其可选命令both表示两头都变尖,max表示数值大的那头变尖,min表示小的那头变尖。
第五个参数为缩放参数shrink,从0-1,整个色条将会按照输入值被缩放。
第六个参数为距离参数pad,该参数控制色条与子图的间距。
第七个为色条方向参数orientation,控制色条时横纵方向,当为horizontal时,色条将被平放在下方。
第八个为ticks,你可以传入一个列表,显示你想展示的刻度,其他刻度将消失。类似于ax.set_yticks( ).
cf=ax.contourf(x,y,z)
fig.colorbar(cf,ticks=[0,2,4,16])
第九个为format,用于控制色条上刻度的格式,比如将其保留两位小数:
cf=ax.contourf(x,y,z)
fig.colorbar(cf,format='%.2f')
第十个为label,简单的给色条一个标签。
当然,上面的都是最为基础的参数,你还可以进一步的做美化,其中,最常用的就是将色条作为一个子图来进行操作。
设置色标刻度线范围、字体格式、字体大小和标签文字、文字大小、文字格式。
font = {'family' : 'Times New Roman',
'weight' : 'normal',
'size' : 20,
}
cbar = plt.colorbar(c,shrink=1, pad=0.1,orientation='horizontal')
cbar.set_label('MEIC $\mathregular{NO_x}$ ton/yr/cell',fontdict=font) #设置colorbar的标签字体及其大小
cbar.set_ticks(np.linspace(0,100000,5)) #设置色标刻度范围
labels = cbar.ax.yaxis.get_ticklabels()
[label.set_fontname('Times New Roman') for label in labels] #更改色标刻度字体格式
cbar.ax.tick_params(labelsize='20') #设置色标刻度字体大小