matplotlib中plt.colorbar刻度和颜色条对不齐

先上代码

# 设定colorbar的类型和颜色数目
import matplotlib as mpt
import matplotlib.pypolt as plt
N = 16
cmap = plt.get_cmap('jet', N)
# 绘制colorbar
# 归一化
norm = mpl.colors.Normalize(vmin=0, vmax=15)
# creating ScalarMappable
sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm)
# sm.set_array([])
cbar_ax = fig.add_axes([ax.get_position().x1 + 0.01, ax.get_position().y0, 0.02, ax.get_position().height])
clb = plt.colorbar(sm, ticks=np.linspace(0, 15, N), cax=cbar_ax,label ='redshift',)

画出的colorbar如下图所示,出现了刻度与对应颜色无法对齐的情况。
img
下图是我想画出的效果图(如果能这样在色条上画出刻度更好了QAQ)

img

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。