2017-09-19 76 views
0

我试图产生颤抖阴谋,向量长度范围从0到15.,我想要使用灰色的颜色映射,但从半范围开始,使得0已经是灰色的而15.是黑色的。 什么我目前做的是:matplotlib颤动阴谋的自定义颜色条

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) 

颜色范围是正确的,但整体颜色表显示在彩条,即从白色开始。 我错过了什么?

回答

1

“灰色”彩图从白色开始变为黑色。由于你的归一化,-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")