“ imshow”和“ quiver”之间的坐标差异

时间:2019-03-09 15:42:13

标签: python matplotlib

我正在尝试找出imshowquiver之间的约定的区别。当我运行以下代码

import matplotlib.pyplot as plt
import numpy as np

img = np.random.randn(20, 40)
xs, ys = [15], [30]
us, vs = [4], [9]
plt.imshow(img, origin='lower')
plt.quiver(xs, ys, us, vs, scale_units='xy', angles='xy', scale=1)
plt.show()

我希望绘制一个箭头,该箭头适合img的范围(自15 + 4 < 2030 + 9 < 40起)。但是,我得到这样的图像:arrow outside the plot region

要获得预期的结果,我需要对图像img进行转置,或者将xs切换为ys,将us切换为vs。使用plt.imshow(img.T),我得到了预期的结果arrow within the plot region。我可能缺少一些约定,我想弄清楚哪些约定。在rgb图像上叠加矢量场时,这很烦人,因为在转置时很容易失去对坐标系的跟踪。

0 个答案:

没有答案