0

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

谢谢各位的解答!真的很有帮助!

4

2 回答 2

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 格式的每一行的颜色。

于 2013-02-05T05:49:17.037 回答
0

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

有效的 matplotlib 颜色是

  1. 来自集合'rgbcmykw'的一封信
  2. 十六进制颜色字符串,例如 '#00FFFF'</li>
  3. 标准名称,如 'aqua' 浮点数,如 '0.4',表示灰色
  4. 0-1 比例
于 2013-02-05T10:18:04.023 回答