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
Instruksi latihan
- Definisikan timedelta selama 2 hari menggunakan fungsi
timedelta()dan tentukan argumen untuk parameterdays. - 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), iterableG.edges(data=True), dan dua kondisi: jikad['date']>=curr_daydan<daricurr_day+td. - Tambahkan jumlah sisi (gunakan fungsi
len()untuk membantu menghitungnya) ken_posts. - Tambahkan
curr_daydengan delta waktutd.
- Saring sisi (edges) sehingga berada dalam jendela waktu geser. Gunakan list comprehension untuk melakukan ini, dengan ekspresi keluaran
- Buat plot
n_postsmenggunakanplt.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()