如何在3D中绘制2个矢量

时间:2016-11-27 03:02:47

标签: python matplotlib vector mplot3d

import numpy as np
import matplotlib
matplotlib.rcParams['backend'] = "Qt4Agg"
import matplotlib.pyplot as plt
import seaborn as sns 
from mpl_toolkits.mplot3d import Axes3D


fig = plt.figure()
ax = fig.gca(projection='3d')

%matplotlib inline
p=np.array([1,-3,5])
q=np.array([3,2,6])
ax.quiver(p,q)
ax.legend()

plt.show()

我试图在3D中绘制2个向量p和q。我一直收到此错误消息

  

ValueError:需要至少一个数组才能连接

不确定我需要做些什么才能让这个情节显示出来。

1 个答案:

答案 0 :(得分:2)

quiver用于绘制矢量场(例如,速度场)。

您可以使用绘图来绘制0和q(或p)之间的线

ax.plot(*np.vstack([[0,0,0],p]).T)
ax.plot(*np.vstack([[0,0,0],q]).T)

您可以使用箭头在行尾添加箭头。

ax.quiver(*q,*q)
ax.quiver(*p,*p)