2013-02-28 97 views
36

考慮包含浮點數的變量x。我想使用matplotlib的colormap將這個數字映射到一個顏色,但不能繪製任何東西。基本上,我希望能夠選擇mpl.cm.autumn的顏色映射,例如,使用mpl.colors.Normalize(vmin = -20, vmax = 10)來設置範圍,然後將x映射到相應的顏色。但我真的沒有得到mpl.cm的文檔,所以如果有人可以給我一個提示。如何使用matplotlib的colormap將數字映射到顏色?

回答

60

就像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) 
5

可以從顏色表得到的顏色由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)) 
相關問題