如何在matplotlib中将colorbar位置向右移动?

big*_*bug 7 matplotlib colorbar

我画一个散点图如下: 在此输入图像描述

代码是:

sc = plt.scatter(x, y, marker='o', s=size_r, c=clr, vmin=lb, vmax=ub, cmap=mycm, alpha=0.65)
cbar = plt.colorbar(sc, shrink=0.9)
Run Code Online (Sandbox Code Playgroud)

我想将颜色条向右移动一点以扩展绘图区域.怎么做 ?

Rob*_*ert 17

使用该pad属性.

cbar = plt.colorbar(sc, shrink=0.9, pad = 0.05)
Run Code Online (Sandbox Code Playgroud)

make_axes()的文档描述了如何使用pad:"pad:0.05如果垂直,0.15如果是水平的;原始轴在colorbar和新图像轴之间的分数".


Zip*_*ipo 11

实际上你可以把颜色条放在你想要的任何地方.

fig1=figure()
sc = plt.scatter(x, y, marker='o', s=size_r, c=clr, vmin=lb, vmax=ub, cmap=mycm, alpha=0.65)
position=fig1.add_axes([0.93,0.1,0.02,0.35])  ## the parameters are the specified position you set 

fig1.colorbar(sc,cax=position) ## 
Run Code Online (Sandbox Code Playgroud)