Matplotlib के साथ स्कैटरप्लॉट एनिमेशन सेव करने के लिए, हम निम्नलिखित चरण ले सकते हैं:
- फिगर साइज सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग एडजस्ट करें।
- चार वेरिएबल्स इनिशियलाइज़ करें: steps, nodes, positions और solutions।
- लिस्ट में पोजीशन्स और सॉल्यूशन्स वैल्यूज़ जोड़ें।
- एक फिगर और सबप्लॉट्स का सेट बनाएं।
- मार्कर साइज के लिए एक वेरिएबल इनिशियलाइज़ करें।
- ग्रिड लाइन्स कॉन्फ़िगर करें।
- animate फंक्शन को बार-बार कॉल करके एनिमेशन बनाएं, एक्सिस क्लियर करें, नया एक्सिस सबप्लॉट जोड़ें, और एक्सिस पर स्कैटर पॉइंट्स प्लॉट करें।
- एनिमेटेड स्कैटर प्लॉट को .gif फाइल के रूप में सेव करें।
उदाहरण
import matplotlib.pyplot as plt import matplotlib.animation as animation import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True steps = 50 nodes = 100 positions = [] solutions = [] for i in range(steps): positions.append(np.random.rand(2, nodes)) solutions.append(np.random.random(nodes)) fig, ax = plt.subplots() marker_size = 50 def animate(i): fig.clear() ax = fig.add_subplot(111, aspect='equal', autoscale_on=False, xlim=(0, 1), ylim=(0, 1)) ax.set_xlim(0, 1) ax.set_ylim(0, 1) s = ax.scatter(positions[i][0], positions[i][1], s=marker_size, c=solutions[i], cmap="RdBu_r", marker="o", edgecolor='black') plt.grid(b=None) ani = animation.FuncAnimation(fig, animate, interval=100, frames=range(steps)) ani.save('animation.gif', writer='pillow')आउटपुट

