简要谈谈常用的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') #设置色标刻度字体大小

来源:痴儿CE

物联沃分享整理
物联沃-IOTWORD物联网 » python colorbar详解

发表评论