📅  最后修改于: 2023-12-03 14:46:35.574000             🧑  作者: Mango
当我们需要使用向量图形表示一些物理量时,Matplotlib就提供了一个非常方便的函数——quiver()
。它可以绘制一个包含向量箭头的矢量场,其中每个箭头表示一个向量,箭头的长度和指向表示了向量的大小和方向。
import matplotlib.pyplot as plt
# 2D场景
plt.quiver(x, y, u, v, **kwargs)
# 3D场景
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.quiver(x, y, z, u, v, w, **kwargs)
quiver()
的基本参数分别是:x
和y
表示箭头的起始坐标,u
和v
表示箭头要绘制的方向,scale
指定箭头的缩放比例,color
指定箭头的颜色。
除了基本参数外,还有一些常用参数可以控制箭头的细节,例如:
color
: 箭头的颜色alpha
: 箭头的透明度linewidth
: 箭头边框的宽度linestyle
: 箭头边框的样式headwidth
和headlength
: 箭头头部的宽度和长度pivot
: 箭头旋转点的位置zorder
: 箭头所处的图层import numpy as np
import matplotlib.pyplot as plt
# 生成 x 方向和 y 方向分别为 -1 到 1,步长为 0.2 的网格
x, y = np.meshgrid(np.arange(-1, 1, 0.2), np.arange(-1, 1, 0.2))
# 生成对应的向量场,但每个向量都相等
u = np.ones_like(x)
v = np.ones_like(y)
# 绘制 2D 矢量场
fig, ax = plt.subplots()
ax.quiver(x, y, u, v, angles='xy', scale_units='xy', scale=2, color='r')
# 设置坐标轴范围
ax.set_xlim([-1.5, 1.5])
ax.set_ylim([-1.5, 1.5])
plt.show()