CommencerCommencer gratuitement

Tracer le nombre de messages publiés au fil du temps

Récapitulons comment tracer des statistiques de graphe qui évoluent dans le temps. Vous allez d’abord utiliser les données du graphe pour compter le nombre d’arêtes qui apparaissent dans une fenêtre temporelle glissante de td jours, qui est de 2 jours dans l’exercice ci-dessous.

Les variables datetime dayone et lastday vous ont été fournies.

Cet exercice fait partie du cours

Analyse de réseaux intermédiaire en Python

Afficher le cours

Instructions

  • Définissez un timedelta de 2 jours avec la fonction timedelta() en précisant un argument pour le paramètre days.
  • À l’intérieur de la boucle while :
    • Filtrez les arêtes pour qu’elles se situent dans la fenêtre temporelle glissante. Utilisez pour cela une compréhension de liste, où l’expression de sortie est (u, v, d), l’itérable est G.edges(data=True), et il y a deux conditions : si d['date'] est >= à curr_day et < à curr_day + td.
    • Ajoutez le nombre d’arêtes (utilisez la fonction len() pour vous aider à le calculer) à n_posts.
    • Incrémentez curr_day du delta temporel td.
  • Tracez un graphique de n_posts avec plt.plot().

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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()  
Modifier et exécuter le code