Tracer le nombre de modifications d'arêtes dans le temps
Vous allez maintenant créer quelques graphiques! Toutes les listes que vous avez déjà construites ont été chargées pour vous dans cet exercice également. Ne vous inquiétez pas pour le code matplotlib plus avancé ci‑dessous : des commentaires vous aideront à comprendre ce qui se passe.
Cette activité fait partie du cours
Analyse de réseaux intermédiaire en Python
Instructions de l’exercice
- Tracez le nombre d'arêtes ajoutées dans le temps. Pour ce faire :
- Utilisez une compréhension de liste pour itérer sur
addedet créer une liste appeléeedges_added. L'expression de sortie de la compréhension de liste estlen(g.edges()), oùgest votre variable d'itération. - Transmettez la liste
edges_addedàax1.plot().
- Utilisez une compréhension de liste pour itérer sur
- Tracez le nombre d'arêtes supprimées dans le temps. Encore une fois, utilisez une compréhension de liste, cette fois en itérant sur
removedplutôt que suradded. - Tracez les variations fractionnaires dans le temps en les passant comme argument à
ax2.plot().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Import matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(111)
# Plot the number of edges added over time
edges_added = [____(____) for ____ in ____]
plot1 = ax1.plot(____, label='added', color='orange')
# Plot the number of edges removed over time
edges_removed = [____(____) for ____ in ____]
plot2 = ax1.plot(____, label='removed', color='purple')
# Set yscale to logarithmic scale
ax1.set_yscale('log')
ax1.legend()
# 2nd axes shares x-axis with 1st axes object
ax2 = ax1.twinx()
# Plot the fractional changes over time
plot3 = ax2.plot(____, label='fractional change', color='green')
# Here, we create a single legend for both plots
lines1, labels1 = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines1 + lines2, labels1 + labels2, loc=0)
plt.axhline(0, color='green', linestyle='--')
plt.show()