📜  Python中的 Matplotlib.pyplot.quiver()(1)

📅  最后修改于: 2023-12-03 14:46:35.574000             🧑  作者: Mango

Python中的 Matplotlib.pyplot.quiver()

当我们需要使用向量图形表示一些物理量时,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()的基本参数分别是:xy表示箭头的起始坐标,uv表示箭头要绘制的方向,scale指定箭头的缩放比例,color指定箭头的颜色。

常用参数

除了基本参数外,还有一些常用参数可以控制箭头的细节,例如:

  • color: 箭头的颜色
  • alpha: 箭头的透明度
  • linewidth: 箭头边框的宽度
  • linestyle: 箭头边框的样式
  • headwidthheadlength: 箭头头部的宽度和长度
  • 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()

image

参考文献