NetworkX ทำงานร่วมกับ Matplotlib ได้ดี โดยใช้ nx.draw() พร้อมพารามิเตอร์ต่างๆ เช่น with_labels, node_size, alpha, linewidths เพื่อปรับรูปลักษณ์โหนดและขอบ
ขั้นตอนการทำงาน
- ตั้งค่าขนาดรูปและเลย์เอาต์
- สร้าง DataFrame คอลัมน์ 'from' และ 'to' แทนขอบ
- สร้างกราฟด้วย
nx.from_pandas_edgelist() - วาดกราฟด้วย
nx.draw()ตั้งค่ารูปลักษณ์ - แสดงผลด้วย
plt.show()
ตัวอย่างโค้ด
import pandas as pd
import networkx as nx
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame({'from': ['A', 'B', 'C', 'A'], 'to': ['D', 'A', 'E', 'C']})
G = nx.from_pandas_edgelist(df, 'from', 'to')
nx.draw(G, with_labels=True, node_size=100, alpha=1, linewidths=10)
plt.show()
ผลลัพธ์
