Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tạo quiver plot (vector field) với Matplotlib trong Python

Quiver plot hiển thị trường vectơ: tại mỗi điểm (x,y) vẽ mũi tên chỉ vectơ (u,v). Dùng cho dòng chảy, từ trường, gradient.

Cài đặt

pip install matplotlib

Cú pháp

quiver(x, y, u, v, color)

x,y,u,v có thể là mảng 1D hoặc 2D.

Ví dụ


import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5.4, 0.5)
y = np.arange(0, 5.4, 0.5)
X, Y = np.meshgrid(x, y)
u = np.cos(X) * Y
v = np.sin(Y) * Y

fig, ax = plt.subplots(figsize=(12, 8))
ax.quiver(X, Y, u, v)
ax.xaxis.set_ticks([])
ax.yaxis.set_ticks([])
ax.axis([-0.7, 2.7, -0.7, 2.7])
ax.set_aspect('equal')
plt.show()

Kết quả

Tạo quiver plot (vector field) với Matplotlib trong Python

Giải thích

  • Tạo lưới điểm, tính thành phần vectơ u,v bằng hàm cos/sin.
  • quiver vẽ mũi tên tại mỗi điểm lưới.
  • set_aspect('equal') giữ tỷ lệ trục.