เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การแสดงภาพ Connectivity

ในแบบฝึกหัดนี้ จะได้แสดงภาพว่า connectivity ของโหนดที่มีการเชื่อมต่อมากที่สุดเปลี่ยนแปลงอย่างไรตามเวลา รายการค่า connectivity สูงสุด top_connected จากแบบฝึกหัดก่อนหน้าได้ถูกโหลดไว้แล้ว

จำ defaultdict ที่ใช้ในบทที่ 1 ได้ไหม? แบบฝึกหัดนี้จะใช้ defaultdict อีกครั้ง เนื่องจาก defaultdict เหมาะกว่า dictionary ทั่วไปในกรณีนี้ เพราะ dictionary ปกติจะเกิด KeyError หากพยายามเข้าถึง key ที่ยังไม่มีอยู่

แบบฝึกหัดนี้จะใช้ลูป for แบบซ้อนกัน กล่าวคือ มีลูป for หนึ่งอยู่ภายในอีกลูปหนึ่ง

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์เครือข่ายระดับกลางใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดค่าเริ่มต้น defaultdict ของ list ว่างเปล่า ตั้งชื่อว่า connectivity
  • วนซ้ำผ่าน top_connected ด้วยลูป for และภายในลูปนอกนี้ ให้วนซ้ำผ่าน Gs อีกครั้ง ภายในลูปซ้อนนี้:
    • key ของ connectivity ควรเป็นโหนด n ใน top_connected และค่า (values) ควรเป็น list ของคะแนน connectivity ดังนั้นให้ append len(list(G.neighbors(n))) ไปยัง connectivity[n]
  • วนซ้ำผ่าน connectivity โดยใช้ .items() แล้วพล็อต connectivity ของแต่ละโหนดโดยส่ง conn ให้ plt.plot()

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import necessary modules
import matplotlib.pyplot as plt
from collections import defaultdict

# Create a defaultdict in which the keys are nodes and the values are a list of connectivity scores over time
connectivity = ____
for n in ____:
    for g in ____:
        connectivity[____].____(len(____))

# Plot the connectivity for each node
fig = plt.figure() 
for n, conn in ____: 
    plt.plot(____, label=n) 
plt.legend()  
plt.show()
แก้ไขและรันโค้ด