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

วิธีเปลี่ยนสีขอบโหนดใน NetworkX ด้วย Matplotlib


ภาพรวม

ใช้ set_edgecolor() บน Node Collection ที่ได้จาก draw_networkx_nodes() เพื่อเปลี่ยนสีขอบโหนด

ขั้นตอน

  1. สร้าง DataFrame ด้วย Edge List (From, To)
  2. สร้าง Graph จาก DataFrame: nx.from_pandas_edgelist()
  3. คำนวณ Layout: spring_layout()
  4. วาด Nodes: nodes = draw_networkx_nodes()
  5. ตั้งค่าสีขอบ: nodes.set_edgecolor('red')
  6. แสดงผล

ตัวอย่างโค้ด

from networkx import *
import matplotlib.pyplot as plt
import pandas as pd

plt.rcParams["figure.figsize"] = [7.00, 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')
pos = spring_layout(G)

nodes = draw_networkx_nodes(G, pos)
nodes.set_edgecolor('red')

plt.show()

ผลลัพธ์

Network Graph โหนดมีขอบสีแดง ภายในสี Default (ฟ้า)

การตั้งค่าเพิ่มเติม

  • nodes.set_facecolor('yellow') สีพื้นที่
  • nodes.set_linewidth(2) ความหนาขอบ
  • draw_networkx_edges(G, pos, edge_color='gray') สีเส้นเชื่อม