Matplotlib-এ স্ক্যাটারপ্লট অ্যানিমেশন সংরক্ষণ করতে নিচের ধাপগুলো ফলো করতে পারেন:
- ফিগার সাইজ সেট করুন এবং সাবপ্লটের মধ্যে ও চারপাশে প্যাডিং অ্যাডজাস্ট করুন।
- চারটি ভেরিয়েবল ইনিশিয়ালাইজ করুন: steps, nodes, positions এবং solutions।
- positions এবং solutions ভ্যালু লিস্টে অ্যাপেন্ড করুন।
- একটি ফিগার এবং সাবপ্লটের সেট তৈরি করুন।
- মার্কার সাইজের জন্য একটি ভেরিয়েবল ইনিশিয়ালাইজ করুন।
- গ্রিড লাইন কনফিগার করুন।
- FuncAnimation() ক্লাস ব্যবহার করে অ্যানিমেশন তৈরি করুন, *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')
আউটপুট

