当你想用 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 添加或减去某些东西以使它们匹配 _realx 和 _realy ,而是寻找从 _realx 和 _realy 数组 读取 这些值的东西。预期的结果是一个图像,其 x 轴为 _realx 值,y 轴为 _realy 值。
原文由 FaCoffee 发布,翻译遵循 CC BY-SA 4.0 许可协议
设置范围
假设你有
您可以将图像范围设置为
更改刻度标签
另一种方法是只更改刻度标签