如何在python中将数字向量映射到颜色?

时间:2013-02-05 02:04:20

标签: python django matplotlib

我很难找到一种方法将数字矢量转换为“良好”的色阶(ala matplotlib),这样我就可以只使用颜色值的矢量。这对于在django中呈现一些静态html页面很有用。有什么想法吗?

感谢大家的答案!真有帮助!

2 个答案:

答案 0 :(得分: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格式的每一行的颜色。

答案 1 :(得分:0)

您还可以查看ColorConverter。它提供了一些方法将有效的matplotlib颜色转换为RGB或RGBA。

有效的matplotlib颜色

  
      
  1. 来自'rgbcmykw'
  2. 集的一封信   
  3. 十六进制颜色字符串,例如'#00FFFF'
  4.   
  5. 标准名称,如'aqua'浮动,如'0.4',表示灰色
  6.   
  7. 0-1比例
  8.