我需要从颜色映射中查找任意数字的RGB值。
假设我有彩色地图 'spring'
'spring'
from matplotlib import cm c = cm.get_cmap('spring')
现在假设我有一个 0 到 1 ,我想从中提取RGB值 c
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
但这告诉我如何对整个二维矩阵进行处理。
除非我误解了您的要求,否则您可以执行以下操作:
c(v[0])
这将为您提供以下信息 RGBA 数组:
RGBA
(1.0, 0.44313725490196076, 0.55686274509803924, 1.0)
所以如果你只想 RGB ,您可以根据需要对其进行索引:
RGB
>>> c(v[0])[:3] (1.0, 0.44313725490196076, 0.55686274509803924)
更多信息 docs