在matplotlib中,颜色映射是将0到1之间的数字映射到表示颜色的R,G,B和A分量的4元组的函数。如果我有这样的颜色图,比如说plt.cm.jet
,是否有办法获取该函数的逆函数,即该函数将4元组映射回0到1之间的原始数字?
示例:
import matplotlib.pyplot as plt
import numpy as np
values = np.random.rand(10, 10) # could be any array
colors = plt.cm.jet(values)
values2 = # ... somehow compute values from colors here
assert values == values2
答案 0 :(得分:0)
假设映射是双射的,则可以创建一个以颜色为键的字典
reversemap={}
for color,value in zip(colors,values):
reversemap[color] = value
不幸的是,有一些颜色映射不是双射的,在这种情况下,将映射颠倒是不正确的。