2017-09-19 105 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")