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

จะเปลี่ยนคุณสมบัติของการวาดกราฟ networkx / matplotlib ได้อย่างไร?


หากต้องการเปลี่ยนแอตทริบิวต์ของ netwrokx/matplotlib การวาดกราฟเราสามารถทำตามขั้นตอนต่อไปนี้ -

ขั้นตอน

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย

  • เริ่มต้นกราฟด้วยขอบ ชื่อ หรือแอตทริบิวต์ของกราฟ

  • เพิ่มแอตทริบิวต์ของกราฟ เพิ่มขอบระหว่าง คุณ และ วี .

  • รับ ขอบ คุณลักษณะจากกราฟ

  • วางตำแหน่งโหนดด้วยวงกลม

  • วาดกราฟ G ด้วย Matplotlib

  • หากต้องการแสดงรูป ให้ใช้ show() วิธีการ

ตัวอย่าง

import matplotlib.pyplot as plt
import networkx as nx

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

G = nx.Graph()
G.add_edge(0, 1, color='r', weight=2)
G.add_edge(1, 2, color='g', weight=4)
G.add_edge(2, 3, color='b', weight=6)
G.add_edge(3, 4, color='y', weight=3)
G.add_edge(4, 0, color='m', weight=1)

colors = nx.get_edge_attributes(G, 'color').values()
weights = nx.get_edge_attributes(G, 'weight').values()
pos = nx.circular_layout(G)

nx.draw(G, pos,
   edge_color=colors,
   width=list(weights),
   with_labels=True,
   node_color='lightgreen')

plt.show()

ผลลัพธ์

มันจะสร้างผลลัพธ์ต่อไปนี้ -

จะเปลี่ยนคุณสมบัติของการวาดกราฟ networkx / matplotlib ได้อย่างไร?