我使用pcolor和自定义颜色映射来绘制值矩阵。我设置我的颜色贴图,使低值为白色,高值为红色,如下所示。我所有的矩阵的值都在0到20之间(包括0和20),我希望20总是纯红色,0总是纯白色,即使矩阵的值不跨越整个范围。例如,如果我的矩阵只有2到7之间的值,我不希望它把2画成白色,7画成红色,而是把它涂成颜色,好像范围仍然是0到20。我该怎么做?我尝试使用colorbar的“ticks=”选项,但是没有用。在
以下是我当前的代码(假设“my峎u matrix”包含要绘制的值):cdict = {'red': ((0.0, 1.0, 1.0),
(0.5, 1.0, 1.0),
(1.0, 1.0, 1.0)),
'green': ((0.0, 1.0, 1.0),
(0.5, 1.0, 1.0),
(1.0, 0.0, 0.0)),
'blue': ((0.0, 1.0, 1.0),
(0.5, 1.0, 1.0),
(1.0, 0.0, 0.0))}
my_cmap = matplotlib.colors.LinearSegmentedColormap('my_colormap', cdict, 256)
colored_matrix = plt.pcolor(my_matrix, cmap=my_cmap)
plt.colorbar(colored_matrix, ticks=[0, 5, 10, 15, 20])
你知道我怎样才能得到正确的结果吗?非常感谢。在