2012-03-03 95 views
7

我是matplotlib的新手,並且卡在colormap中。matplotlib:獲取顏色地圖數組

在matplotlib中,如何獲取特定顏色映射的整個RGB顏色數組,例如「熱」。例如,如果我在MATLAB,我會剛剛做到這一點:

# in matlab 
c = hot(256); 
disp(c) 

任何想法?

回答

11

您可以通過調用顏色表作爲函數查找值,它接受numpy的陣列,同時查詢多個值:

In [13]: cm.hot(arange(256)) 
Out[13]: 
array([[ 0.0416 , 0.  , 0.  , 1.  ], 
     [ 0.05189484, 0.  , 0.  , 1.  ], 
     [ 0.06218969, 0.  , 0.  , 1.  ], 
     ..., 
     [ 1.  , 1.  , 0.96911762, 1.  ], 
     [ 1.  , 1.  , 0.98455881, 1.  ], 
     [ 1.  , 1.  , 1.  , 1.  ]]) 
-3

明白了!所以,你只是去您的MATLAB的命令行窗口,鍵入

CMAP =顏色表(nameOfTheColormapYouWant)

在Matlab可能的顏色表是:parula,噴氣,HSV,熱,冷,春,夏,秋,冬,灰色,骨頭,銅,粉紅色,線,colorcube,棱鏡,國旗。

您得到一個矩陣,其中每行是用於色彩地圖的色彩代碼。

+0

這是如何在'Matlab'中獲得RGB數組。 OP想要在python的'matplotlib'包中獲得RGB數組。請在下次閱讀這個問題。 – 2017-04-17 04:05:10