检索 Matplotlib 热图颜色

2023-11-29

我正在尝试检索 matplotlib 热图上每个单元格的颜色,该热图由imshow()功能,例如由magic_function below:

import matplotlib.pyplot as plt
import numpy as np
hm = plt.imshow(np.random.rand(10, 10))
color_matrix = hm.magic_function() #returns matrix containing the RGB/Hex values of each cell

您正在寻找通过创建的图像使用的颜色图imshow。当然,现在您可以像其他答案所建议的那样,对颜色图如何进入图像进行逆向工程。这看起来很麻烦,而且常常是不可能的。

所以给定一个AxesImage(返回的对象imshow)或就此而言任何其他ScalarMappable,您可以通过以下方式获取正在使用的颜色图.cmap。由于数据值已标准化为 0..1 之间的范围,因此您需要进行标准化,该标准化可以从.norm属性。最后,您需要从以下位置获得的数据.get_array() method.

The magic_function因此是一个由三个函数组成的链。

im = plt.imshow(np.random.rand(10, 10))
color_matrix = im.cmap(im.norm(im.get_array()))

color_matrix现在是与图像中的像素相对应的 (10, 10, 4) 形状的 RGBA 颜色数组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检索 Matplotlib 热图颜色 的相关文章

随机推荐