所以我试图在强度图上绘制横向矢量场。如果我只是使用以下代码绘制矢量场(强度图注释掉)
import matplotlib.pyplot as plt
import numpy as np
from numpy import ma
X = np.loadtxt("X.csv", delimiter=",\t", skiprows=1)
Y = np.loadtxt("Y.csv", delimiter=",\t", skiprows=1)
Z = np.loadtxt("Z.csv", delimiter=",\t", skiprows=1)
U = X
V = Y
#plt.imshow(Z)
plt.quiver(U, V)
plt.show()
如图所示,一切正常。
更正字段
但是,如果我运行它并包含plt.imshow(Z)
行,那么它会完全更改矢量字段,尽管它会正确地绘制强度。
字段不正确
如您所见,这两个字段不同。感谢任何帮助,谢谢!
答案 0 :(得分:1)
这两个字段看起来不同,因为imshow
修改了默认的轴属性并反转了y轴的方向,所以而不是(0,0)在左下角,而是在左上角。
要解决此问题,您可以使用origin
参数imshow
plt.imshow(Z, origin='lower')
另一个变化是imshow
将数据宽高比设置为相等。