Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะทำให้พล็อตเส้นเคลื่อนไหวใน Matplotlib ได้อย่างไร?


เพื่อให้พล็อตเส้นเคลื่อนไหวใน matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -

  • สร้างภาพและชุดแผนย่อยโดยใช้ แผนย่อย() วิธีการ

  • จำกัดมาตราส่วนแกน x และ y

  • สร้างจุดข้อมูล x และ t โดยใช้ numpy

  • ส่งกลับเมทริกซ์พิกัดจากเวกเตอร์พิกัด X2 และ T2

  • วาดเส้นด้วยจุดข้อมูล x และ F โดยใช้ plot() วิธีการ

  • หากต้องการสร้างพล็อตแอนิเมชั่น ให้อัปเดตข้อมูล y

  • สร้างแอนิเมชั่นด้วยการเรียกใช้ฟังก์ชันซ้ำๆ *func*, fig ปัจจุบัน, animate, และ ช่วงเวลา .

  • หากต้องการแสดงรูป ให้ใช้ show() วิธีการ

ตัวอย่าง

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()

ผลลัพธ์

เมื่อเรารันโค้ดนี้ มันจะแสดงพล็อตเส้นพร้อมแอนิเมชั่น

จะทำให้พล็อตเส้นเคลื่อนไหวใน Matplotlib ได้อย่างไร?