Computer >> Máy Tính >  >> Lập trình >> Python

Vẽ một trường vectơ trên các trục trong Python Matplotlib?

Để vẽ một trường vectơ trên các trục trong matplotlib, chúng ta có thể thực hiện các bước sau -

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con.

  • Tạo X, Y, T, R, U V điểm dữ liệu bằng cách sử dụng numpy.

  • Thêm một trục vào hình hiện tại và biến nó thành các trục hiện tại.

  • Vẽ một trường mũi tên 3D bằng cách sử dụng quiver () phương pháp.

  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

n = 8
X, Y = np.mgrid[0:n, 0:n]
T = np.arctan2(Y - n / 2., X - n/2.)
R = 10 + np.sqrt((Y - n / 2.0) ** 2 + (X - n / 2.0) ** 2)
U, V = R * np.cos(T), R * np.sin(T)

plt.axes([0.025, 0.025, 0.95, 0.95])
plt.quiver(X, Y, U, V, R, cmap="copper")

plt.show()

Đầu ra

Vẽ một trường vectơ trên các trục trong Python Matplotlib?