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

กำหนดพล็อตหลายรายการเพื่อสร้างภาพเคลื่อนไหวด้วย for loop ใน Matplotlib


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

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
  • สร้างฟิกเกอร์ใหม่หรือเปิดใช้งานฟิกเกอร์ที่มีอยู่โดยใช้วิธีฟิกเกอร์
  • เพิ่มแกนให้กับตัวเลขปัจจุบันและทำให้เป็นแกนปัจจุบัน
  • เริ่มต้นสองตัวแปร N และ x , ใช้ numpy.
  • ดูรายการเส้นและแถบแปะ
  • ทำให้เส้นและสี่เหลี่ยมเคลื่อนไหว (แถบแพทช์) ใน สำหรับ วนซ้ำ
  • สร้างแอนิเมชั่นด้วยการเรียกใช้ฟังก์ชันซ้ำๆ *func* .
  • หากต้องการแสดงรูป ให้ใช้ show() วิธีการ

ตัวอย่าง

from matplotlib import pyplot as plt
from matplotlib import animation
import numpy as np

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

fig = plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(0, 100))
N = 4
x = np.linspace(-5, 5, 100)
lines = [plt.plot(x, np.sin(x))[0] for _ in range(N)]
rectangles = plt.bar([0.5, 1, 1.5], [50, 40, 90], width=0.1)
patches = lines + list(rectangles)

def animate(i):
   for j, line in enumerate(lines):
      line.set_data([0, 2, i, j], [0, 3, 10 * j, i])
   for j, rectangle in enumerate(rectangles):
      rectangle.set_height(i / (j + 1))
return patches

anim = animation.FuncAnimation(fig, animate,
                              frames=100, interval=20, blit=True)

plt.show()

ผลลัพธ์

กำหนดพล็อตหลายรายการเพื่อสร้างภาพเคลื่อนไหวด้วย for loop ใน Matplotlib