matplotlib: получить массив цветов - PullRequest
8 голосов
/ 03 марта 2012

Я новичок в matplotlib и застрял в цветовых картах.

В matplotlib как мне получить весь массив цветов RGB для конкретной цветовой карты, скажем, для "горячей".Например, если бы я был в MATLAB, я бы просто сделал это:

# in matlab
c = hot(256);
disp(c)

Есть идеи?

Ответы [ 2 ]

16 голосов
/ 03 марта 2012

Вы можете искать значения, вызывая цветовую карту как функцию, и она принимает массивы для запроса множества значений одновременно:

In [13]: cm.hot(arange(256))
Out[13]: 
array([[ 0.0416    ,  0.        ,  0.        ,  1.        ],
       [ 0.05189484,  0.        ,  0.        ,  1.        ],
       [ 0.06218969,  0.        ,  0.        ,  1.        ],
       ..., 
       [ 1.        ,  1.        ,  0.96911762,  1.        ],
       [ 1.        ,  1.        ,  0.98455881,  1.        ],
       [ 1.        ,  1.        ,  1.        ,  1.        ]])
0 голосов
/ 03 августа 2016

Понял!Итак, вы просто заходите в командное окно вашего Matlab и набираете

cmap = colormap (nameOfTheColormapYouWant)

Возможные цветовые карты в Matlab: parula, jet, hsv, hot, cool, весна, лето, осень, зима, серый, кость, медь, розовый, линии, цветовой куб, призма, флаг.

Вы получаете матрицу, где каждая строка - это код цвета, используемый для карты цветов.

...