2013-02-05 68 views
0

我很難找到一種方法來將數字向量轉換爲「良好」的色階(ala matplotlib),以便我可以簡單地只有顏色值的向量。這對於在django中渲染一些靜態html頁面非常有用。有什麼想法嗎?如何將一個數字向量映射爲python中的顏色?

感謝您的答案人!真的有幫助!

+0

映射不一定是唯一的。你可以組成你喜歡的任何地圖。 – duffymo

回答

1

您可以使用下面的代碼:

from __future__ import division 

import numpy 
import matplotlib.cm as cmap 

r = numpy.random.rand(1000)        #random numbers 
c = cmap.jet(numpy.int_((r-r.min())/r.ptp()*255))  #colors 

所以你嘗試:

>>> r 
array([ 0.88741281, 0.61022571, 0.14819983, 0.3695846 , 0.73832029, 
     0.6266069 , 0.6917337 , 0.09162752, 0.83532511, 0.54001574, ...,]) 
>>> c 
array([[ 1.  , 0.08787219, 0.  , 1.  ], 
     [ 0.83175206, 1.  , 0.13598988, 1.  ], 
     [ 0.  , 0.08039216, 1.  , 1.  ], 
     ..., 
     [ 0.  , 0.72352941, 1.  , 1.  ], 
     [ 0.24984187, 1.  , 0.71790006, 1.  ], 
     [ 1.  , 0.45098039, 0.  , 1.  ]]) 

這是顏色RGBA的格式每一行。

0

你也可以看看ColorConverter。它提供了幾種將有效的matplotlib顏色轉換爲RGB或RGBA的方法。

有效matplotlib顏色是

  1. 來自該組 'rgbcmykw'
  2. 十六進制顏色字符串,如 '#00FFFF'
  3. 一個標準的名稱,如 '水上' 浮子的信,像 '0.4',表示灰色上
  4. 0-1刻度
相關問題