Цветовая карта содержит словарь значений красного, зеленого и синего, отображенных на интервале [0,1]. Документы класса Linear Segmented Colormap дают пример
cdict = {'red': [(0.0, 0.0, 0.0),
(0.5, 1.0, 1.0),
(1.0, 1.0, 1.0)],
'green': [(0.0, 0.0, 0.0),
(0.25, 0.0, 0.0),
(0.75, 1.0, 1.0),
(1.0, 1.0, 1.0)],
'blue': [(0.0, 0.0, 0.0),
(0.5, 0.0, 0.0),
(1.0, 1.0, 1.0)]}
"Каждая строка в таблице для данного цвета представляет собой последовательность кортежей x, y0, y1. В каждой последовательности x должно монотонно увеличиваться от 0 до 1. Для любого входного значения z, попадающего между x [i] и x [i + 1], выходное значение данного цвета будет линейно интерполировано между y1 [i] и y0 [i + 1]: "
Цветовая карта RdYlGn
имеет 11 значений x для каждого цвета с шагом от 0 до 1,0 с шагом 0,1. Вы можете получить значения cdict
, вызвав
plt.cm.RdYlGn._segmentdata
Затем вы можете изменить значения x на любые нужные вам шаги (при условии, что они монотонно растут и находятся в диапазоне от 0 до 1), и получить новую цветовую карту, вызвав matplotlib.colors.LinearSegmentedColormap
на вашем новом cdict
. Есть несколько замечательных примеров этого в Matplotlib Cookbook .