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