Для этого вы можете использовать colourmaps из matplotlib - вот пример с вашими данными:
Код:
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
inpt = np.array([[1, 2, 2, 1, 2, 1, 1],
[1, 3, 3, 2, 3, 3, 1],
[1, 4, 8, 9, 8, 4, 1],
[1, 6, 9, 9, 9, 7, 1],
[1, 4, 8, 9, 8, 4, 1],
[1, 3, 3, 2, 3, 3, 1],
[1, 2, 2, 1, 2, 1, 1]])
norm = mpl.colors.Normalize(vmin=0, vmax=9)
plt.imshow(inpt, cmap='hot', norm=norm)
Вывод:
Чтобы просто получить кортеж значений RGBA, просто используйте, например:
>>> cmap = plt.cm.hot
>>> cmap(norm(5))
(0.0, 0.7110320290467349, 1.0, 1.0)
>>> mpl.colors.rgb2hex(cmap(norm(5))) # Hex Code
'#ff8000'