【发布时间】:2017-10-30 19:48:32
【问题描述】:
当你想用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 值的图像。
【问题讨论】:
-
什么意思?在这种情况下,强度是虚构的 - 它们可以是任何东西。
-
不,我不是在寻找产生散点图的东西。我专注于光栅图像(numpy 数组)。
-
你能分享一张图片应该是什么样子吗?或者根据你的两个数组解释它应该如何“产生”(不一定是代码,只是一些解释)。
-
如果我理解正确,您只有 3 个不同的
x(15, 16, 17) 和 3 个不同的y(20, 21, 22) 坐标,但图像为 3x4 像素。这究竟应该如何运作?
标签: python numpy matplotlib imshow