当您想要使用imshow
绘制一个numpy数组时,这通常是您要做的:
import numpy as np
import matplotlib.pyplot as plt
A=np.array([[3,2,5],[8,1,2],[6,6,7],[3,5,1]]) #The array to plot
im=plt.imshow(A,origin="upper",interpolation="nearest",cmap=plt.cm.gray_r)
plt.colorbar(im)
在这张图片中,x 和 y 坐标可以从数组中每个值的位置中简单提取出来。现在,假设 A
是一个包含指定坐标的值的数组:
real_x=np.array([[15,16,17],[15,16,17],[15,16,17],[15,16,17]])
real_y=np.array([[20,21,22,23],[20,21,22,23],[20,21,22,23]])
这些值是虚构的,只是为了举例说明。 是否有一种方法可以强制imshow将A中的每个值分配给相应的坐标对(real_x,real_y)?
PS:我不是要在基于数组的x和y上加减某些值使其与real_x和real_y匹配,而是希望能够从real_x和real_y数组中读取这些值。预期结果是一幅图像,其中x轴上的值为real_x,y轴上的值为real_y。
x
(15、16、17)和3个不同的y
(20、21、22)坐标,但是却有一个3x4像素的图像。这应该如何工作? - MSeifert