FuncAnimation से एनिमेशन
FuncAnimation से चार्ट को फ़्रेम-दर-फ़्रेम एनिमेट करें और GIF में सेव करें।
परिचय
एनिमेशन एक चार्ट है जो कई बार दोबारा बनाया जाता है। FuncAnimation हर फ़्रेम पर आपका update फ़ंक्शन एक बार बुलाता है; यह फ़ंक्शन नया चार्ट बनाने की जगह मौजूदा लाइन का डेटा बदलता है, जिससे यह तेज़ रहता है।
ax.plot लाइनों की लिस्ट लौटाता है, और line, = उसमें से अकेली लाइन लेता है। update(frame) को 0, 1, 2... मिलते हैं और यह set_ydata से हर बार लहर को थोड़ा खिसकाता है। frames फ़्रेम की संख्या है और interval उनके बीच का समय मिलीसेकंड में। animation.save, PillowWriter से GIF लिखता है; ऑनलाइन एडिटर में GIF आपके वर्कस्पेस में दिखता है और plt.show() आखिरी फ़्रेम दिखाता है।
इंटरैक्टिव विज़ुअलाइज़र
Play दबाएँ, frame स्लाइडर खिसकाएँ और फ़्रेम की संख्या व अंतराल बदलें। हाइलाइट की गई लाइन हर फ़्रेम पर एक बार चलती है।
चलने वाला Matplotlib उदाहरण
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.animation import FuncAnimation, PillowWriter
x = np.linspace(0, 2 * np.pi, 200)
fig, ax = plt.subplots(figsize=(7, 4))
line, = ax.plot(x, np.sin(x))
ax.set_ylim(-1.2, 1.2)
ax.set_title("A moving wave")
def update(frame):
line.set_ydata(np.sin(x + frame / 10))
return line,
animation = FuncAnimation(fig, update, frames=60, interval=50)
animation.save("wave.gif", writer=PillowWriter(fps=20))
print("Saved wave.gif")
plt.show()
