中设置colorbar_Python空间绘图Colorbar详解

290b5a4e200c386156588027efbb0083.png


一、色条Colorbar的基础

在我们绘制有色阶的图片时,多会用到colorbar这个关联利器,色条可以直接将数值与颜色连接在一起。常用的scatter、contourf是非常适合使用的。第一节我们来简要谈谈常用的colorbar参数,以后例子都基于contourf命令。

第一个参数为colorbar传入参数,代表colorbar所关联的contourf,这种方式是最简单的默认传入,绘制出来的colorbar和cf是相匹配的,展示的也是cf的信息。

cf=ax.contourf(... ...)fig.colorbar(cf)

第二个参数为colorbar绘制的默认子图位置参数,代表当前这个colorbar将要摆放的子图位置。

import numpy as npimport matplotlib.pyplot as pltimport matplotlib.ticker as mtickerplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False#负号def data():    datax=np.linspace(-10,10,200)    datay=np.linspace(-10,10,200)    X,Y=np.meshgrid(datax,datay)    Z=np.sqrt(X**2+Y**2)    return X,Y,Zx,y,z=data()fig=plt.figure(figsize=(5,2),dpi=500)ax1=fig.add_axes([0,0,0.4,1])ax1.set_title('ax1')acf1=ax1.contourf(x,y,z)ax2=fig.add_axes([0.5,0,0.4,1])ax2.set_title('ax2')acf2=ax2.contourf(x,y,z,cmap='Spectral_r')fig.colorbar(acf1,ax=ax2)

在上面这段程序中最后一句,fig.colorbar(acf1,ax=ax2),虽然我们传入了acf1即ax1里的等值线,但是我们指定colorbar中ax=ax2,所以绘制出来的colorbar将被放置在ax2旁边。

72c5011a408fe6aaa30aa9f43fd813ab.png

第三个为指定色条位置参数cax,我们放在后面专开一节讲。

第四个为使色条展示尖角的参数extend,他可以使色条展现出角的形状,其可选命令both表示两头都变尖,max表示数值大的那头变尖,min表示小的那头变尖。

cf=ax.contourf(x,y,z,extend='both')fig.colorbar(cf,extend='both')

d912f22f724b57ce161acc66dd05de46.png

第五个参数为缩放参数shrink,从0-1,色条将会按照输入值被缩放:

cf=ax.contourf(x,y,z)fig.colorbar(cf,shrink=0.5)

63d523e2d73dc640d51f7b4b971ac28b.png

第六个参数为距离参数pad,该参数控制色条与子图的间距:

cf=ax.contourf(x,y,z)fig.colorbar(cf,pad=0.005)

ca4f66cac3323403107bf939cfaca40a.png

第七个为色条方向参数orientation,控制色条时横纵方向,当为horizontal时,色条将被平放在下方:

cf=ax.contourf(x,y,z)fig.colorbar(cf,orientation='horizontal')

f9a391fba6b2040e6a3ff34df34bfe16.png

第八个为ticks,你可以传入一个列表,显示你想展示的刻度,其他刻度将消失。类似于ax.set_yticks( ).

cf=ax.contourf(x,y,z)fig.colorbar(cf,ticks=[0,2,4,16])

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值