ПочатиПочніть безкоштовно

Побудуйте графік змін кількості ребер з часом

Зараз ви побудуєте кілька графіків! Усі списки, які ви створили раніше, вже завантажені для цієї вправи. Не хвилюйтеся через частину «просунутого» коду matplotlib нижче: у коментарях пояснено, що саме відбувається.

Ця вправа є частиною курсу

Середній рівень Network Analysis у Python

Переглянути курс

Інструкції до вправи

  • Побудуйте кількість доданих ребер у часі. Для цього:
    • Використайте спискове включення, щоб ітеруватися по added і створити список edges_added. Вихідним виразом спискового включення має бути len(g.edges()), де g — ваша змінна-ітератор.
    • Передайте список edges_added у ax1.plot().
  • Побудуйте кількість видалених ребер у часі. Знову використайте спискове включення, цього разу ітеруючись по removed замість added.
  • Побудуйте часткові зміни в часі, передавши їх як аргумент у ax2.plot().

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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()
Редагувати та запускати код