Python Matplotlib抖动方向错误

Python Matplotlib抖动方向错误,python,vector,matplotlib,calculus,Python,Vector,Matplotlib,Calculus,我正在创建一个关于向量演算的ipython笔记本。(至少是基础知识)。 在这段代码中,我试图绘制函数x^2+XY+Y^2的伪彩色图 在上面画出由梯度给出的向量场 U=2X+Y和V=2Y+X 然而,箭图似乎旋转了90度,因此没有指向正确的方向 x = arange(-2.0, 2.0,00.1) y = arange(-2.0, 2.0,00.1) X,Y = meshgrid(x, y) Z = X**2 + X*Y + Y**2 GradX = (2*X+Y) GradY = (2*Y+X)

我正在创建一个关于向量演算的ipython笔记本。(至少是基础知识)。 在这段代码中,我试图绘制函数x^2+XY+Y^2的伪彩色图 在上面画出由梯度给出的向量场 U=2X+Y和V=2Y+X

然而,箭图似乎旋转了90度,因此没有指向正确的方向

x = arange(-2.0, 2.0,00.1)
y = arange(-2.0, 2.0,00.1)
X,Y = meshgrid(x, y)
Z = X**2 + X*Y + Y**2
GradX = (2*X+Y)
GradY = (2*Y+X)
figure(figsize=(10, 10))
im = imshow(Z, cmap=cm.RdYlBu, interpolation='none', extent=[-2,2,-2,2])
quiver(X, Y, GradX, GradY, angles='xy', scale_units='xy')
show()

我想您需要:

im = imshow(Z, cmap=cm.RdYlBu, interpolation='none', extent=[-2,2,-2,2], origin='lower')
也就是说,指定
origin='lower'
y=-2
放在左下角。正如我在评论中提到的,我认为旋转的是图像(实际上是翻转的——尽管在这个图中有相同的区别),而不是箭袋图

分析:在您的方程式中,
Z
GradX
GradY
在图形的(+、+)和(-,-)角处,符号“配合”的幅度都应该最大。正如您所发布的,只有箭袋图具有此属性,因此旋转的是图像。此外,总是图像存在这些问题(由于从左上角索引图像的计算机惯例与Y的最小值在轴上绘制得最低的数学惯例之间存在冲突)

我想您需要:

im = imshow(Z, cmap=cm.RdYlBu, interpolation='none', extent=[-2,2,-2,2], origin='lower')
也就是说,指定
origin='lower'
y=-2
放在左下角。正如我在评论中提到的,我认为旋转的是图像(实际上是翻转的——尽管在这个图中有相同的区别),而不是箭袋图

分析:在您的方程式中,
Z
GradX
GradY
在图形的(+、+)和(-,-)角处,符号“配合”的幅度都应该最大。正如您所发布的,只有箭袋图具有此属性,因此旋转的是图像。此外,总是图像存在这些问题(由于从左上角索引图像的计算机惯例与Y的最小值在轴上绘制得最低的数学惯例之间存在冲突)

我想您需要:

im = imshow(Z, cmap=cm.RdYlBu, interpolation='none', extent=[-2,2,-2,2], origin='lower')
也就是说,指定
origin='lower'
y=-2
放在左下角。正如我在评论中提到的,我认为旋转的是图像(实际上是翻转的——尽管在这个图中有相同的区别),而不是箭袋图

分析:在您的方程式中,
Z
GradX
GradY
在图形的(+、+)和(-,-)角处,符号“配合”的幅度都应该最大。正如您所发布的,只有箭袋图具有此属性,因此旋转的是图像。此外,总是图像存在这些问题(由于从左上角索引图像的计算机惯例与Y的最小值在轴上绘制得最低的数学惯例之间存在冲突)

我想您需要:

im = imshow(Z, cmap=cm.RdYlBu, interpolation='none', extent=[-2,2,-2,2], origin='lower')
也就是说,指定
origin='lower'
y=-2
放在左下角。正如我在评论中提到的,我认为旋转的是图像(实际上是翻转的——尽管在这个图中有相同的区别),而不是箭袋图

分析:在您的方程式中,
Z
GradX
GradY
在图形的(+、+)和(-,-)角处,符号“配合”的幅度都应该最大。正如您所发布的,只有箭袋图具有此属性,因此旋转的是图像。此外,总是图像存在这些问题(由于从左上角索引图像的计算机惯例与Y的最小值在轴上绘制得最低的数学惯例之间存在冲突)


旋转的不是你的图像吗?当X和Y最大(都是abs意义上的)并且具有相同的符号时,你的梯度(GradX,GradY)应该最大,这是你当前图像中的情况,但是如果你旋转箭袋图就不会了。旋转的不是你的图像吗?当X和Y最大(都是abs意义上的)并且具有相同的符号时,你的梯度(GradX,GradY)应该最大,这是你当前图像中的情况,但是如果你旋转箭袋图就不会了。旋转的不是你的图像吗?当X和Y最大(都是abs意义上的)并且具有相同的符号时,你的梯度(GradX,GradY)应该最大,这是你当前图像中的情况,但是如果你旋转箭袋图就不会了。旋转的不是你的图像吗?当X和Y最大(都是abs意义上的)并且具有相同的符号时,你的梯度(GradX,GradY)应该是最大的,这是你当前图像中的情况,但是如果你旋转箭袋图就不会了。非常感谢!当我意识到这确实是一张错误的图片时,我正要编辑这个问题。我想我还有很多东西要学…非常感谢!当我意识到这确实是一张错误的图片时,我正要编辑这个问题。我想我还有很多东西要学…非常感谢!当我意识到这确实是一张错误的图片时,我正要编辑这个问题。我想我还有很多东西要学…非常感谢!当我意识到这确实是一张错误的图片时,我正要编辑这个问题。我想我有很多东西要学。。。