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

Làm thế nào để tạo hoạt ảnh cho một chuỗi các ô Matplotlib theo thứ tự thời gian?

Để tạo hiệu ứng cho một chuỗi các ô Matplotlib được sắp xếp theo thứ tự thời gian, 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 ô phụ.
  • Tạo một hình mới hoặc kích hoạt một hình hiện có.
  • Thêm các trục vào hình như một phần của sắp xếp ô phụ.
  • Trả lại lần lặp lại đầu tiên sau phiên bản datetime đã cho bằng cách sử dụng after () phương pháp.
  • Viết một hoạt ảnh () phương pháp để tạo hoạt ảnh. Hiển thị dữ liệu dưới dạng hình ảnh, tức là trên raster 2D thông thường.
  • Để 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

matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

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

fig = plt.figure()
ax = fig.add_subplot(111)

def animate():
   data = np.random.randn(5, 5)
   im = plt.imshow(data, cmap="plasma")
   for i in np.arange(1, 100):
      data = np.random.randn(5, 5)
      im.set_data(data)
      fig.canvas.draw()
win = fig.canvas.manager.window
fig.canvas.manager.window.after(10, animate)
plt.show()

Đầu ra

Làm thế nào để tạo hoạt ảnh cho một chuỗi các ô Matplotlib theo thứ tự thời gian?