[英]How to extract data from plt.imshow() or plt.matshow()?
要获取您在 matplotlib 轴上绘制的图像的 RGBA 数组,首先,您要获取图像对象(此处为im3
)。 其次,获取它的颜色图(这里是ccmap
)。 最后一步,将数据数组im3._A
传递给ccmap
。
import matplotlib.cm as cm
import numpy as np
import matplotlib.pyplot as plt
data = np.random.random((10,10))
# imshow or matshow is OK
#im3 = plt.imshow(data, cmap="viridis_r") #any colormap will do
im3 = plt.matshow(data, cmap="viridis_r")
plt.axis('off')
#plt.savefig("question2.png",bbox_inches='tight',pad_inches=0)
plt.show()
# get the colormap used by the previous imshow()
ccmap = im3.get_cmap()
print(ccmap.name) # 'viridis_r'
# get the image data ***YOU ASK FOR THIS***
img_rgba_array = ccmap(im3._A)
# plot the image data
ax = plt.subplot(111)
ax.imshow(img_rgba_array); #dont need any cmap to plot
示例输出图:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.