我很難找到一種方法來將數字向量轉換爲「良好」的色階(ala matplotlib),以便我可以簡單地只有顏色值的向量。這對於在django中渲染一些靜態html頁面非常有用。有什麼想法嗎?如何將一個數字向量映射爲python中的顏色?
感謝您的答案人!真的有幫助!
我很難找到一種方法來將數字向量轉換爲「良好」的色階(ala matplotlib),以便我可以簡單地只有顏色值的向量。這對於在django中渲染一些靜態html頁面非常有用。有什麼想法嗎?如何將一個數字向量映射爲python中的顏色?
感謝您的答案人!真的有幫助!
您可以使用下面的代碼:
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'
- 一個標準的名稱,如 '水上' 浮子的信,像 '0.4',表示灰色上
- 0-1刻度
映射不一定是唯一的。你可以組成你喜歡的任何地圖。 – duffymo