Matplotlib के साथ स्कैटरप्लॉट एनिमेशन को बचाने के लिए, हम निम्नलिखित कदम उठा सकते हैं -
- आकृति का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें।
- चार चर, चरण, नोड, स्थिति और समाधान प्रारंभ करें।
- सूची में स्थिति और समाधान मान जोड़ें।
- एक आकृति और सबप्लॉट का एक सेट बनाएं।
- मार्कर आकार के लिए एक चर प्रारंभ करें।
- ग्रिड लाइनों को कॉन्फ़िगर करें।
- किसी फ़ंक्शन को बार-बार कॉल करके एनिमेशन बनाएं *एनिमेट करें *, अक्ष को साफ़ करने के लिए, नया अक्ष सबलॉट जोड़ें, और अक्ष पर बिखराव बिंदुओं को प्लॉट करें।
- एनिमेटेड स्कैटर प्लॉट को .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') आउटपुट
