matplotlib
中的 quiver
方法可用于绘制箭头(向量),下面介绍二维和三维中的使用方法
二维箭头向量绘制
一般参数如下
quiver(X, Y, U, V, **kw)
参数的含义如下图所示,其中X
和Y
决定箭头尾部的位置,U
和V
决定箭头的方向,可以理解为以箭头尾部为起点,沿X和Y轴的分量。
![在这里插入图片描述](https://img-blog.csdnimg.cn/ce561db9fda8475ca302f78b10d556ef.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAI0RyaW5rV2F0ZXI=,size_9,color_FFFFFF,t_70,g_se,x_16)
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 40)
y = x ** 2 * np.exp(-x)
u = np.array([x[i + 1] - x[i] for i in range(len(x) - 1)])
v = np.array([y[i + 1] - y[i] for i in range(len(x) - 1)])
x = x[:len(u)]
y = y[:len(v)]
c = np.random.randn(len(u))
plt.figure()
plt.quiver(x, y, u, v, c, angles='xy', scale_units='xy', scale=1)
plt.show()
![在这里插入图片描述](https://img-blog.csdnimg.cn/e6a96a6b1bcf4dcc862cc4ab18dfaaea.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAI0RyaW5rV2F0ZXI=,size_15,color_FFFFFF,t_70,g_se,x_16)
三维箭头向量绘制
三维和二维类似,只不过多了一个维度,参数的意义是一样的
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
num_points = 20
pts = np.random.rand(num_points, 3)
ax.scatter(pts[:, 0], pts[:, 1], pts[:, 2], c='b', s=3, linewidth=0, alpha=1, marker="o")
direction = np.random.rand(num_points, 3)
ax.quiver(pts[:, 0], pts[:, 1], pts[:, 2],
direction[:, 0], direction[:, 1], direction[:, 2],
length=0.05, normalize=True, color='r')
plt.show()
![在这里插入图片描述](https://img-blog.csdnimg.cn/63ea032832484a2b9df43204aaa1e70e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAI0RyaW5rV2F0ZXI=,size_12,color_FFFFFF,t_70,g_se,x_16)
参考
- matplotlib quiver箭图绘制
- python matplotlib quiver——画箭头、风场
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)