先上代码
# 设定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如下图所示,出现了刻度与对应颜色无法对齐的情况。
下图是我想画出的效果图(如果能这样在色条上画出刻度更好了QAQ)