NetworkX ग्राफ को Matplotlib में एनिमेट करने के लिए FuncAnimation क्लास का उपयोग किया जाता है, जो एक अपडेट फंक्शन को बार-बार कॉल करके ग्राफ को डायनामिक रूप से बदलता है।
चरण
- फिगर का आकार सेट करें और पैडिंग समायोजित करें।
- figure() मेथड से नया फिगर बनाएं या मौजूदा को सक्रिय करें।
- edges, name, और graph attributes के साथ ग्राफ इनिशियलाइज़ करें।
- 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()
आउटपुट
एक एनिमेटेड डायरेक्टेड ग्राफ जहां हर सेकंड दो रैंडम नोड्स के बीच नया एज जुड़ता जाता है।
