Matplotlib:如何获取颜色图的反函数?

时间:2018-12-11 17:31:11

标签: python matplotlib colormap inverse

在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

1 个答案:

答案 0 :(得分:0)

假设映射是双射的,则可以创建一个以颜色为键的字典

reversemap={}
for color,value in zip(colors,values):
    reversemap[color] = value

不幸的是,有一些颜色映射不是双射的,在这种情况下,将映射颠倒是不正确的。