Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การวาดกราฟเครือข่าย (Network Graph) ด้วย NetworkX และ Matplotlib

NetworkX ทำงานร่วมกับ Matplotlib ได้ดี โดยใช้ nx.draw() พร้อมพารามิเตอร์ต่างๆ เช่น with_labels, node_size, alpha, linewidths เพื่อปรับรูปลักษณ์โหนดและขอบ

ขั้นตอนการทำงาน

  1. ตั้งค่าขนาดรูปและเลย์เอาต์
  2. สร้าง DataFrame คอลัมน์ 'from' และ 'to' แทนขอบ
  3. สร้างกราฟด้วย nx.from_pandas_edgelist()
  4. วาดกราฟด้วย nx.draw() ตั้งค่ารูปลักษณ์
  5. แสดงผลด้วย 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()

ผลลัพธ์

การวาดกราฟเครือข่าย (Network Graph) ด้วย NetworkX และ Matplotlib