我试图制作一个箭袋图,矢量长度范围从0到15.我想使用灰色色图,但是从半范围开始,这样0已经是灰色的,15是黑色的。 到目前为止我所做的是:
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)
颜色范围是正确的,但整个颜色图显示在颜色条中,即从白色开始。 我错过了什么?
答案 0 :(得分:1)
" Grays" colormap从白色开始,变为黑色。由于您的标准化,-5为白色,15为黑色。
你真正想要的是vmin=0,vmax=15.
的标准化和一个以灰色开头的色彩图:
import matplotlib.colors
norm = matplotlib.colors.Normalize(vmin=0,vmax=15.,clip=False)
cmap = matplotlib.colors.ListedColormap(plt.cm.Greys(np.linspace(0.25,1,10)), "name")