有没有办法在matplotlib中绘制一个3D向量场?我看过《颤抖》,但它只谈到了一个“2-D矢量场的箭头”。3D在某个地方是否有对应的?LMGTFY:我想这个搜索词会返回3D对应的文档:
"3-D vector field of arrows" matplotlib
但它返回零个结果
wrrgggsh1#
从matplotlib 1开始4.x,箭现在可以3D绘图了。quiver3d演示。py在examples目录中:
from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax = fig.gca(projection='3d') x, y, z = np.meshgrid(np.arange(-0.8, 1, 0.2), np.arange(-0.8, 1, 0.2), np.arange(-0.8, 1, 0.8)) 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)) ax.quiver(x, y, z, u, v, w, length=0.1) plt.show()
2ul0zpep2#
我不这么认为matplotlib中的3D绘图是相当新的,这就是到目前为止的所有内容:http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/index.html也许可以询问matplotlib邮件列表是否正在开发矢量图。
2条答案
按热度按时间wrrgggsh1#
从matplotlib 1开始4.x,箭现在可以3D绘图了。
quiver3d演示。py在examples目录中:
2ul0zpep2#
我不这么认为matplotlib中的3D绘图是相当新的,这就是到目前为止的所有内容:http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/index.html
也许可以询问matplotlib邮件列表是否正在开发矢量图。