หากต้องการใช้อัปเดต ฟังก์ชันเพื่อเคลื่อนไหว NetworkX กราฟใน Matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -
- กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
- สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่โดยใช้ figure() วิธีการ
- เริ่มต้นกราฟด้วย ขอบ ชื่อ และแอตทริบิวต์ของกราฟ
- เพิ่มโหนดในกราฟโดยใช้ add_nodes_from() วิธีการ
- วาดกราฟ G ด้วย Matplotlib
- ใช้ FuncAnimation() เพื่อสร้างแอนิเมชั่นโดยการเรียกฟังก์ชัน เคลื่อนไหวซ้ำๆ
- ฟังก์ชัน เคลื่อนไหว เคลียร์ตัวเลขปัจจุบัน สร้างตัวเลขสุ่มสองตัว และวาดขอบระหว่างตัวเลขทั้งสอง
- หากต้องการแสดงรูป ให้ใช้ 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()
ผลลัพธ์