matplotlib颤动箭头方向

时间:2014-07-02 14:39:33

标签: python matplotlib

我正在尝试绘制矢量网格。然而,当我加载我的文件时,矢量实际指向45度错误的方向,但遵循我的数据模式。在箭袋中,据说当向量相同时它指向45度,这可以改变吗? 此外,当我尝试使用一些随机数时,箭头功能非常随机。 (使用数字或通过arctan生成角度网格(y / x)* 180 / 3.1415)。我的矢量网格应该看起来像旋转 - 围绕中心旋转,而不是看起来像是从中心吹出来的。

from pylab import *
from numpy import ma
import scipy.io as c
import math


X,Y = meshgrid( arange(0,100,1),arange(0,100,1) )

ufile = np.genfromtxt(r'x.txt')  
vfile = np.genfromtxt(r'y.txt')

U = ufile
V = vfile
angle = (((abs(U)/U+1)/2)*((abs(V)/V+1)/2)*arctan(V/U)+((abs(V)/V+1)/2)*((abs(U)/U-1)/2)‌​*(-arctan(V/U)+math.pi)+((abs(V)/V-1)/2)*((abs(U)/U-1)/2)*(arctan(V/U)+math.pi)+(‌​(abs(U)/U+1)/2)*((abs(V)/V-1)/2)*(-arctan(V/U)+2*math.pi))*180/math.pi+90


scale = 10
figure()
Q = quiver( X[::scale, ::scale], Y[::scale, ::scale], U[::scale, ::scale], V[::scale, ::scale],
            pivot='mid', color='k', units='xy', headaxislength=20, angles=angle[::scale, ::scale] )
axis([0, 100, 0, 100])

show()

0 个答案:

没有答案