我需要从色图中查找任意数字的RGB值。
假设我有一个色彩图'spring'
from matplotlib import cm
c = cm.get_cmap('spring')
现在假设我的值为0
到1
,我想从c
import numpy as np
np.random.seed([3, 1415])
v = np.random.rand(1)
v
0.4449393091533107
如何映射以获得相应的RGB?
如果我看看
c._segmentdata
{'blue': ((0.0, 1.0, 1.0), (1.0, 0.0, 0.0)),
'green': ((0.0, 0.0, 0.0), (1.0, 1.0, 1.0)),
'red': ((0.0, 1.0, 1.0), (1.0, 1.0, 1.0))}
......我不知道该怎么做。
我已查找此链接https://matplotlib.org/users/colormapnorms.html
但是这告诉我如何为整个2d矩阵做这件事。
答案 0 :(得分:2)
除非我误解了您的要求,否则您可以执行以下操作:
c(v[0])
这将为您提供以下RGBA
数组:
(1.0, 0.44313725490196076, 0.55686274509803924, 1.0)
因此,如果您只想要RGB
,则可以根据需要对其进行索引:
>>> c(v[0])[:3]
(1.0, 0.44313725490196076, 0.55686274509803924)
中的更多信息