CommencerCommencer gratuitement

Tracer le nombre de modifications d’arêtes dans le temps

Vous allez maintenant créer quelques graphiques ! Toutes les listes que vous avez créées précédemment ont également été chargées pour vous dans cet exercice. Ne vous inquiétez pas du code matplotlib un peu sophistiqué ci-dessous : des commentaires vous aident à comprendre ce qu’il fait.

Cet exercice fait partie du cours

Analyse de réseaux intermédiaire en Python

Afficher le cours

Instructions

  • Tracez le nombre d’arêtes ajoutées au fil du temps. Pour cela :
    • Utilisez une compréhension de liste pour itérer sur added et créer une liste appelée edges_added. L’expression de sortie de la compréhension de liste est len(g.edges()), où g est votre variable d’itération.
    • Passez la liste edges_added à ax1.plot().
  • Tracez le nombre d’arêtes supprimées au fil du temps. Là encore, utilisez une compréhension de liste, cette fois en itérant sur removed au lieu de added.
  • Tracez les variations fractionnelles au fil du temps en les passant en argument à ax2.plot().

Exercice interactif pratique

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

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