Поиск цветов с помощью карты цветов matplotlib - PullRequest
0 голосов
/ 21 мая 2018

Мне нужно найти значения RGB для произвольных чисел из цветовой карты.

Предположим, у меня есть цветовая карта 'spring'

from matplotlib import cm

c = cm.get_cmap('spring')

А теперь предположим, что у меня есть значение от *От 1007 * до 1, я хочу получить значения RGB от c

import numpy as np

np.random.seed([3, 1415])
v = np.random.rand(1)

v

0.4449393091533107

Как сопоставить это, чтобы получить соответствующий RGB?

Если я смотрю на

c._segmentdata

{'blue': ((0.0, 1.0, 1.0), (1.0, 0.0, 0.0)),
 'green': ((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)),
 'red': ((0.0, 1.0, 1.0), (1.0, 1.0, 1.0))}

... я не знаю, что делать.

Я посмотрел эту ссылку https://matplotlib.org/users/colormapnorms.html

Но это говорит мне, как это сделать.это для всей 2d матрицы.

1 Ответ

0 голосов
/ 21 мая 2018

Если я неправильно понимаю, что вы спрашиваете, вы можете сделать следующее:

c(v[0])

Это даст вам следующий массив RGBA:

(1.0, 0.44313725490196076, 0.55686274509803924, 1.0)

Так что если выпросто хотите RGB, вы можете просто индексировать его по мере необходимости:

>>> c(v[0])[:3]
(1.0, 0.44313725490196076, 0.55686274509803924)

Дополнительная информация в документах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...