I'm trying to produce a quiver plot, vector lengths range from 0. to 15., and I'd like to use a grey colormap but starting from, say, half-range, such that 0. is already grey and 15. is black. What I've done so far is:
cmap = cm.get_cmap('Greys', 10)
norm = matplotlib.colors.Normalize(vmin=-5.,vmax=15.,clip=False)
Q = ax.quiver(xi, yi, zix, ziy, lengths * 1000., units='inches', width=0.008, headwidth=6, headlength=7, scale=5,
scale_units='inches',cmap=cmap, norm=norm)
cb = plt.colorbar(Q, cax=ax3, ticks=[0.0, 3.0, 6.0, 9.0, 12.0, 15.0], format='%.1f', norm=norm)
The color range is correct but the whole colormap is shown in the colorbar, i.e. starting from the white color. What am I missing?