Подтвердить что ты не робот

Как сопоставить номер с цветом с использованием matplotlib colormap?

Рассмотрим переменную x, содержащую число с плавающей запятой. Я хочу использовать matplotlib colormaps, чтобы сопоставить это число с цветом, но ничего не строить. В принципе, я хочу, чтобы иметь возможность выбирать цветовой код с помощью mpl.cm.autumn, например, использовать mpl.colors.Normalize(vmin = -20, vmax = 10) для установки диапазона, а затем сопоставить x с соответствующим цветом. Но я действительно не получаю документацию mpl.cm, поэтому, если кто-нибудь может дать мне подсказку.

4b9b3361

Ответ 1

Это так же просто, как cm.hot(0.3), который возвращает (0.82400814813704837, 0.0, 0.0, 1.0).

Полная рабочая программа могла читать

import matplotlib.cm as cm

print cm.hot(0.3)

Если вы также хотите иметь нормализатор, используйте

import matplotlib as mpl
import matplotlib.cm as cm

norm = mpl.colors.Normalize(vmin=-20, vmax=10)
cmap = cm.hot
x = 0.3

m = cm.ScalarMappable(norm=norm, cmap=cmap)
print m.to_rgba(x)

Ответ 2

Вы можете получить цвет из цветовой карты, предоставив аргумент между 0 и 1, например. cm.autumn(0.5).

Если в игре есть экземпляр нормализации, используйте вместо этого возврат нормализации:

import matplotlib.cm as cm
from matplotlib.colors import Normalize

cmap = cm.autumn
norm = Normalize(vmin=-20, vmax=10)
print cmap(norm(5))