【问题标题】:Quiver plot changes when plotted on top of intensity绘制在强度之上时,箭袋图会发生变化
【发布时间】:2017-06-14 11:48:39
【问题描述】:

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

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) 行,那么它会完全改变矢量场,尽管它会正确绘制强度。

字段不正确

如您所见,这两个字段是不同的。任何帮助表示赞赏,谢谢!

【问题讨论】:

    标签: python matplotlib plot imshow


    【解决方案1】:

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

    要更正此问题,您可以将origin 参数用于imshow

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

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

    【讨论】:

      猜你喜欢
      • 2012-10-02
      • 2022-11-17
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      相关资源
      最近更新 更多