gpt4 book ai didi

python - 如何在 Python matplotlib 中正确缩放 3d Quiver 图?

转载 作者:太空狗 更新时间:2023-10-30 00:10:07 26 4
gpt4 key购买 nike

当 quiver 在 3d 中使用时,如 this example可以只设置所有箭头的长度。它不反射(reflect)所提供箭头的实际长度。

在 2d 情况下有效的参数比例,在这里似乎不起作用。

有没有办法缩放箭头,使其长度反射(reflect)给定矢量场的长度?

最佳答案

刚刚浏览了文档 http://matplotlib.org/mpl_toolkits/mplot3d/api.html这对你有用吗?

仍然不明显箭头长度是否正确但至少现在看起来是 3D

from mpl_toolkits.mplot3d import Axes3D
import matplotlib
import numpy as np

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))
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)

ax.quiver(x, y, z, u, v, w, pivot = 'middle', arrow_length_ratio = 0.02)
ax.scatter(x,y,z, color = 'black')
plt.show()

enter image description here

关于python - 如何在 Python matplotlib 中正确缩放 3d Quiver 图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35084588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com