Can';t在Python Quiver中显示轴零上的向量

Can';t在Python Quiver中显示轴零上的向量,python,numpy,matplotlib,vector,multidimensional-array,Python,Numpy,Matplotlib,Vector,Multidimensional Array,我试图用numpy和quiver创建一个向量场。 不幸的是,我用于每个向量分量的函数需要除以网格字段中的值,因此quiver不会显示x、y或z网格为0的向量。 以下是我目前掌握的情况: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D ax = plt.figure().gca(projection='3d') vecX3d=np.linspace(-5,5,11

我试图用numpy和quiver创建一个向量场。 不幸的是,我用于每个向量分量的函数需要除以网格字段中的值,因此quiver不会显示x、y或z网格为0的向量。 以下是我目前掌握的情况:

import numpy as np
import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D
ax = plt.figure().gca(projection='3d')
vecX3d=np.linspace(-5,5,11)
vecY3d=np.linspace(-5,5,11)
vecZ3d=np.linspace(-5,5,11)
meshVecX3d,meshVecY3d,meshVecZ3d=np.meshgrid(vecX3d,vecY3d,vecZ3d)
print("X",meshVecX3d)
print("Y",meshVecY3d)
print("Z",meshVecZ3d)
componentX = 1/(np.sign(meshVecX3d)*(meshVecX3d**2)) 
componentY = 1/(np.sign(meshVecY3d)*(meshVecY3d**2))
componentZ = 1/(np.sign(meshVecZ3d)*(meshVecZ3d**2))
ax.quiver(meshVecX3d,meshVecY3d,meshVecZ3d,componentX,componentY,componentZ, length=1)
plt.show()
我的代码创建,在x、y或z轴的零处没有向量。 我还收到一些警告,告诉我在乘法、减法和真除法中遇到了无效值


任何帮助都将不胜感激ε=1E-6;vecX3d=np.linspace(-5,5+ε,11)您得到的是一个箭图,其中唯一可见的向量是源自轴的向量,因为与前者相比,所有其他向量的长度可以忽略不计。TL;噢,我忘了提一下:如果你写ε=1E-6;vecX3d=np.linspace(-5,5-ε,11)?-答:大部件更换标志。፨ ፨ ፨፨ ፨ ፨ 哪个结果正确回答,两个都有,没有。谢谢你的洞察力。也许我可以用np.sign()来修正符号的变化。