यह अजीब है देखो। ऐसा लगता है कि आप, वी, डब्ल्यू बस दिशा स्थापित करते हैं, और लंबाई पैरामीटर सभी लंबाई समान प्रभाव डालता है। आप लंबाई पैरामीटर में सरणी नहीं डाल सकते हैं। अपने अच्छी तरह से प्रलेखित कोड के लिए
from mpl_toolkits.mplot3d import Axes3D
import matplotlib
import numpy as np
import pylab as plt
print(matplotlib.__version__)
fig = plt.figure()
ax = fig.gca(projection='3d')
x, y, z = np.meshgrid(np.arange(-1, 1, 0.4),
np.arange(-1, 1, 0.4),
np.arange(-1, 1, 0.4))
x = x.reshape(np.product(x.shape))
y = y.reshape(np.product(y.shape))
z = z.reshape(np.product(z.shape))
scale = 0.02
u = np.sin(np.pi * x) * np.cos(np.pi * y) * np.cos(np.pi * z)
v = -np.cos(np.pi * x) * np.sin(np.pi * y) * np.cos(np.pi * z)
w = np.sqrt(2.0/3.0) * np.cos(np.pi * x) * np.cos(np.pi * y) * np.sin(np.pi * z)
lengths = np.sqrt(x**2+y**2+z**2)
for x1,y1,z1,u1,v1,w1,l in zip(x,y,z,u,v,w,lengths):
ax.quiver(x1, y1, z1, u1, v1, w1, pivot = 'middle', length=l*0.5)
ax.scatter(x,y,z, color = 'black')
plt.show()
स्रोत
2016-11-01 20:52:21
स्थापित नहीं कर सकता है प्रत्येक लंबाई अलग से सेट करें वास्तव में एक काम है- चारों ओर, लेकिन ऐसा लगता है ... उत्तर के लिए धन्यवाद! – SeF