How to map number to color using matplotlib's colormap?
It's as simple as cm.hot(0.3)
, which returns (0.82400814813704837, 0.0, 0.0, 1.0)
.
A full working program could read
import matplotlib.cm as cm
print(cm.hot(0.3))
If you also want to have the normalizer, use
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))
You can get a color from a colormap by supplying an argument between 0 and 1, e.g. cm.autumn(0.5)
.
If there is a normalization instance in the game, use the return of the Normalization instead:
import matplotlib.cm as cm
from matplotlib.colors import Normalize
cmap = cm.autumn
norm = Normalize(vmin=-20, vmax=10)
print cmap(norm(5))