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

Làm thế nào để tạo hoạt ảnh cho một đường thẳng trong Matplotlib?

Để tạo hoạt ảnh cho biểu đồ đường trong matplotlib, chúng ta có thể thực hiện các bước sau -

  • Tạo một hình và một tập hợp các khe phụ bằng cách sử dụng subplots () phương pháp.

  • Giới hạn tỷ lệ trục x và y.

  • Tạo điểm dữ liệu x và t bằng cách sử dụng numpy.

  • Trả về ma trận tọa độ từ vectơ tọa độ, X2 và T2.

  • Vẽ một đường với các điểm dữ liệu x và F bằng cách sử dụng plot () phương pháp.

  • Để tạo biểu đồ hoạt ảnh, hãy cập nhật dữ liệu y.

  • Tạo hoạt ảnh bằng cách gọi liên tục một hàm * func *, hình hiện tại, hoạt ảnh khoảng thời gian .

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

Ví dụ

import numpy as np
from matplotlib import pyplot as plt, animation
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
fig, ax = plt.subplots()
ax.set(xlim=(-3, 3), ylim=(-1, 1))
x = np.linspace(-3, 3, 91)
t = np.linspace(1, 25, 30)
X2, T2 = np.meshgrid(x, t)
sinT2 = np.sin(2 * np.pi * T2 / T2.max())
F = 0.9 * sinT2 * np.sinc(X2 * (1 + sinT2))
line, = ax.plot(x, F[0, :], color='k', lw=2)
def animate(i):
   line.set_ydata(F[i, :])
anim = animation.FuncAnimation(fig, animate, interval=100, frames=len(t) - 1)
anim.save('503.gif')
plt.show()

Đầu ra

Khi chúng tôi thực thi mã này, nó sẽ hiển thị một biểu đồ dòng có hoạt ảnh.

Làm thế nào để tạo hoạt ảnh cho một đường thẳng trong Matplotlib?