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
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
addede criar uma lista chamadaedges_added. A expressão de saída da compreensão de lista élen(g.edges()), em quegé sua variável de iteração. - Passe a lista
edges_addedparaax1.plot().
- Use uma compreensão de lista para iterar sobre
- 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
removedem vez deadded. - 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()