绘制在强度之上时的箭头图变化

时间:2017-01-29 02:10:08

标签: python matplotlib plot imshow

所以我试图在强度图上绘制横向矢量场。如果我只是使用以下代码绘制矢量场(强度图注释掉)

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()

如图所示,一切正常。

更正字段

Correct Field

但是,如果我运行它并包含plt.imshow(Z)行,那么它会完全更改矢量字段,尽管它会正确地绘制强度。

字段不正确

Incorrect Vector Field

如您所见,这两个字段不同。感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

这两个字段看起来不同,因为imshow修改了默认的轴属性并反转了y轴的方向,所以而不是(0,0)在左下角,而是在左上角。

要解决此问题,您可以使用origin参数imshow

plt.imshow(Z, origin='lower')

另一个变化是imshow将数据宽高比设置为相等。