IniziaInizia gratis

Grafica il numero di cambiamenti degli archi nel tempo

Ora è il momento di creare alcuni grafici! Tutte le liste che hai creato in precedenza sono già state caricate anche in questo esercizio. Non preoccuparti del codice matplotlib più avanzato qui sotto: troverai dei commenti che ti aiutano a capire cosa sta succedendo.

Questo esercizio fa parte del corso

Analisi di reti intermedia in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Rappresenta nel tempo il numero di archi aggiunti. Per farlo:
    • Usa una list comprehension per iterare su added e crea una lista chiamata edges_added. L’espressione di output della list comprehension è len(g.edges()), dove g è la tua variabile iteratore.
    • Passa la lista edges_added a ax1.plot().
  • Rappresenta nel tempo il numero di archi rimossi. Anche qui usa una list comprehension, questa volta iterando su removed invece che su added.
  • Rappresenta nel tempo le variazioni frazionarie passandole come argomento a ax2.plot().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice