Mulai sekarangMulai gratis

Plot jumlah kiriman yang dibuat seiring waktu

Mari meninjau kembali cara memplot statistik graf yang berkembang dari data graf. Pertama, Anda akan menggunakan data graf untuk menghitung jumlah sisi (edge) yang muncul dalam jendela waktu pemenggalan td hari, yaitu 2 hari pada latihan di bawah ini.

Variabel datetime dayone dan lastday telah disediakan untuk Anda.

Latihan ini merupakan bagian dari kursus

Analisis Jaringan Menengah di Python

Lihat Kursus

Instruksi latihan

  • Definisikan timedelta selama 2 hari menggunakan fungsi timedelta() dan tentukan argumen untuk parameter days.
  • Di dalam loop while:
    • Saring sisi (edges) sehingga berada dalam jendela waktu geser. Gunakan list comprehension untuk melakukan ini, dengan ekspresi keluaran (u, v, d), iterable G.edges(data=True), dan dua kondisi: jika d['date'] >= curr_day dan < dari curr_day + td.
    • Tambahkan jumlah sisi (gunakan fungsi len() untuk membantu menghitungnya) ke n_posts.
    • Tambahkan curr_day dengan delta waktu td.
  • Buat plot n_posts menggunakan plt.plot().

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# Import necessary modules
from datetime import timedelta  
import matplotlib.pyplot as plt

# Define current day and timedelta of 2 days
curr_day = dayone
td = ____

# Initialize an empty list of posts by day
n_posts = []
while curr_day < lastday:
    if curr_day.day == 1:
        print(curr_day) 
    # Filter edges such that they are within the sliding time window: edges
    edges = [(____, ____, ____) for u, v, d in ____ if d['date'] >= ____ and d['date'] < ____ + ____]
    
    # Append number of edges to the n_posts list
    ____
    
    # Increment the curr_day by the time delta
    ____ += ____
    
# Create the plot
plt.plot(____)  
plt.xlabel('Days elapsed')
plt.ylabel('Number of posts')
plt.show()  
Edit dan Jalankan Kode