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

Làm thế nào để tạo hoạt ảnh một pcolormesh trong Matplotlib?

Để tạo hoạt ảnh cho pcolormesh 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 ô phụ.

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

  • Tạo X3 , Y3 và T3, trả về ma trận tọa độ từ vectơ tọa độ bằng cách sử dụng meshgrid.

  • Tạo biểu đồ màu giả với lưới hình chữ nhật không thông thường bằng cách sử dụng pcolormesh () phương pháp.

  • Tạo thanh màu bằng colormesh trục.

  • Tạo ảnh động cho pcolormesh sử dụng Hoạt ảnh () phương pháp lớp.

  • Để 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()
x = np.linspace(-3, 3, 91)
t = np.linspace(0, 25, 30)
y = np.linspace(-3, 3, 91)
X3, Y3, T3 = np.meshgrid(x, y, t)
sinT3 = np.sin(2 * np.pi * T3 / T3.max(axis=2)[..., np.newaxis])
G = (X3 ** 2 + Y3 ** 2) * sinT3
cax = ax.pcolormesh(x, y, G[:-1, :-1, 0], vmin=-1, vmax=1, cmap='Blues')
fig.colorbar(cax)

def animate(i):
   cax.set_array(G[:-1, :-1, i].flatten())

anim = animation.FuncAnimation(fig, animate, interval=100, frames=len(t) - 1)
anim.save('517.gif')
plt.show()

Đầu ra

Làm thế nào để tạo hoạt ảnh một pcolormesh trong Matplotlib?