我很难找到一种将数字向量转换为“好”色标(ala matplotlib)的方法,这样我就可以只拥有颜色值的向量。这对于在 django 中呈现一些静态 html 页面很有用。有什么想法吗?
谢谢各位的解答!真的很有帮助!
我很难找到一种将数字向量转换为“好”色标(ala matplotlib)的方法,这样我就可以只拥有颜色值的向量。这对于在 django 中呈现一些静态 html 页面很有用。有什么想法吗?
谢谢各位的解答!真的很有帮助!
您可以使用以下代码:
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 格式的每一行的颜色。
你也可以看看ColorConverter。它提供了一些将有效的 matplotlib 颜色转换为 RGB 或 RGBA 的方法。
有效的 matplotlib 颜色是
- 来自集合'rgbcmykw'的一封信
- 十六进制颜色字符串,例如 '#00FFFF'</li>
- 标准名称,如 'aqua' 浮点数,如 '0.4',表示灰色
- 0-1 比例