也许应该有一个最简单的解决方案,但我的解决方法是基于“jet”创建自己的matplotlib.colors.LinearSegmentedColormap。
(colormap的最低级别定义在红色、绿色和蓝色的每一个元组的第一行,所以这就是开始编辑的地方。我再加一个元组,在下半部分有一个明显的白点。
…对于每种颜色,在元组的第一个元素中,指示颜色栏中的位置(从0到1),在第二个和第三个元素中指示颜色本身。from matplotlib.pyplot import *
import matplotlib
import numpy as np
cdict = {'red': ((0., 1, 1),
(0.05, 1, 1),
(0.11, 0, 0),
(0.66, 1, 1),
(0.89, 1, 1),
(1, 0.5, 0.5)),
'green': ((0., 1, 1),
(0.05, 1, 1),
(0.11, 0, 0),
(0.375, 1, 1),
(0.64, 1, 1),
(0.91, 0, 0),
(1, 0, 0)),
'blue': ((0., 1, 1),
(0.05, 1, 1),
(0.11, 1, 1),
(0.34, 1, 1),
(0.65, 0, 0),
(1, 0, 0))}
my_cmap = matplotlib.colors.LinearSegmentedColormap('my_colormap',cdict,256)
pcolor(np.random.rand(10,10),cmap=my_cmap)
colorbar()
show()
您将得到以下信息: