ComeçarComece de graça

Plotar o número de mudanças de arestas ao longo do tempo

Agora você vai criar alguns gráficos! Todas as listas que você já gerou foram carregadas para este exercício também. Não se preocupe com parte do código mais avançado do matplotlib que aparece abaixo: há comentários para ajudar você a entender o que está acontecendo.

Este exercício faz parte do curso

Análise de Redes Intermediária em Python

Ver curso

Instruções do exercício

  • Faça o gráfico do número de arestas adicionadas ao longo do tempo. Para isso:
    • Use uma compreensão de lista para iterar sobre added e criar uma lista chamada edges_added. A expressão de saída da compreensão de lista é len(g.edges()), em que g é sua variável de iteração.
    • Passe a lista edges_added para ax1.plot().
  • Faça o gráfico do número de arestas removidas ao longo do tempo. Novamente, use uma compreensão de lista, desta vez iterando sobre removed em vez de added.
  • Faça o gráfico das mudanças fracionárias ao longo do tempo passando a lista como argumento para ax2.plot().

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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()
Editar e executar o código