擅长:python、mysql、java
<p>您需要在mpl_工具包中使用来自mplot3d的Axes3D,然后将子批次投影设置为3d:</p>
<pre><code>import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
soa = np.array([[0, 0, 1, 1, -2, 0], [0, 0, 2, 1, 1, 0],
[0, 0, 3, 2, 1, 0], [0, 0, 4, 0.5, 0.7, 0]])
X, Y, Z, U, V, W = zip(*soa)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.quiver(X, Y, Z, U, V, W)
ax.set_xlim([-1, 0.5])
ax.set_ylim([-1, 1.5])
ax.set_zlim([-1, 8])
plt.show()
</code></pre>
<p><strong>注意:</strong>旧版本的matplotlib通常会给出此代码的错误。尝试使用至少1.5版</p>
<p><img src="https://i.stack.imgur.com/DJ3K6.png" alt="produced_output"/></p>