import numpy as np
import matplotlib.cm as cm
def map_to_color(a, range=None, map=cm.hsv):
a = np.asarray(a)
if range is None:
range = (a.min(), a.max())
ax = (a - range[0])/(range[1]-range[0])
rgba = (map(ax)*255).astype(np.uint32)
return rgba[:,0] << 16 | rgba[:,1] << 8 | rgba[:,2]