Zaman içinde yapılan gönderi sayısını görselleştir
Hadi, grafik verilerinden değişen grafik istatistiklerini nasıl çizebileceğini kısaca tekrar edelim. Önce, td günlük (aşağıdaki egzersizde 2 gün) parça penceresi içinde görünen kenarların sayısını hesaplamak için grafik verisini kullanacaksın.
dayone ve lastday adlı datetime değişkenleri senin için sağlandı.
Bu egzersiz
Python ile Orta Düzey Ağ (Network) Analizi
kursunun bir parçasıdırEgzersiz talimatları
timedelta()fonksiyonunu kullanarakdaysparametresi için bir argüman belirterek 2 günlük bir time delta tanımla.whiledöngüsünün içinde:- Kenarları, kayan zaman penceresi içinde kalacak şekilde filtrele. Bunu bir liste üreteciyle yap: çıktı ifadesi
(u, v, d), yinelenen yapıG.edges(data=True)olacak ve iki koşul bulunacak:d['date']>=curr_dayvecurr_day+tddeğerinden<olmalı. - Kenar sayısını (hesaplamak için
len()fonksiyonunu kullan)n_postslistesine ekle. curr_daydeğerinitdzaman farkı kadar artır.
- Kenarları, kayan zaman penceresi içinde kalacak şekilde filtrele. Bunu bir liste üreteciyle yap: çıktı ifadesi
plt.plot()kullanarakn_postsiçin bir grafik çiz.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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()