Я использую pcolor с пользовательской картой цветов для построения матрицы значений.Я установил свою цветовую карту так, чтобы низкие значения были белыми, а высокие - красным, как показано ниже.Все мои матрицы имеют значения от 0 до 20 (включительно), и я бы хотел, чтобы 20 всегда было чисто красным, а 0 - всегда чисто белым, даже если матрица имеет значения, которые не охватывают весь диапазон.Например, если моя матрица имеет значения только от 2 до 7, я не хочу, чтобы она отображала 2 как белый, а 7 как красный, а скорее окрашиваю его, как будто диапазон по-прежнему составляет от 0 до 20. Как я могу это сделать?Я попытался использовать опцию "ticks =" на панели цветов, но это не сработало.
Вот мой текущий код (предположим, что «my_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])
Есть идеи, как это исправить, чтобы получить правильный результат?большое спасибо.