NetworkX গ্রাফ অ্যানিমেশনের ধাপাবলী
Matplotlib-এ FuncAnimation এবং NetworkX ব্যবহার করে গ্রাফ অ্যানিমেট করতে নিচের ধাপগুলো অনুসরণ করুন:
- ফিগার আকার সেট করুন এবং সাবপ্লটের চারপাশে প্যাডিং সামঞ্জস্য করুন।
- figure() মেথড ব্যবহার করে নতুন ফিগার তৈরি করুন বা বিদ্যমান ফিগার এক্টিভেট করুন।
- এজ, নাম এবং গ্রাফ অ্যাট্রিবিউট দিয়ে একটি গ্রাফ ইনিশিয়ালাইজ করুন।
- add_nodes_from() মেথড ব্যবহার করে গ্রাফে নোড যোগ করুন।
- Matplotlib-এ গ্রাফ G ড্র করুন।
- FuncAnimation() ক্লাস ব্যবহার করে animate ফাংশন বারবার কল করে অ্যানিমেশন তৈরি করুন।
- animate ফাংশন করেন্ট ফিগার ক্লিয়ার করবে, দুটি র্যান্ডম নম্বর জেনারেট করবে এবং তাদের মধ্যে এজ ড্র করবে।
- ফিগার প্রদর্শনের জন্য show() মেথড ব্যবহার করুন।
উদাহরণ
from matplotlib import pyplot as plt, animation
import networkx as nx
import random
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
G = nx.DiGraph()
G.add_nodes_from([0, 1, 2, 3, 4])
nx.draw(G, with_labels=True)
def animate(frame):
fig.clear()
num1 = random.randint(0, 4)
num2 = random.randint(0, 4)
G.add_edges_from([(num1, num2)])
nx.draw(G, with_labels=True)
ani = animation.FuncAnimation(fig, animate, frames=6, interval=1000, repeat=True)
plt.show()
আউটপুট
এই কোড একটি GIF অ্যানিমেশন তৈরি করবে যেখানে প্রতি সেকেন্ডে দুটি র্যান্ডম নোডের মধ্যে নতুন এজ যোগ হবে।