Я работаю с инкрементными графиками, поэтому я хотел бы строить текущий график каждый раз, когда вставляю новое ребро поверх предыдущего чертежа.
С помощью этого кода я могу генерировать по одной фигуре за раз, но они отображаются только после окончания итерации.
import random
import time
import networkx as nx
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
%matplotlib notebook
#Generating some random edges
M = 10
N = 4
edges = []
for i in range(M):
s = random.randrange(N) + 1
t = random.randrange(N) + 1
edges.append((s,t))
G = nx.DiGraph()
G.add_nodes_from(range(1, 5))
plt.subplot(121)
plt.ion()
nx.draw(G, with_labels=True, font_weight='bold')
for edge in edges:
plt.figure()
G.add_edge(*edge)
nx.draw(G, with_labels=True, font_weight='bold')
time.sleep(1)
Но что я действительно хочу, так это видеть, как граф перерисовывается на каждой итерации, или, по крайней мере, иметь возможность складывать их в интерактивном режиме Matplotlib, чтобы я мог идти вперед и назад.
Я искал несколько дней и нашел несколько примеров работы с графиками, такими как гистограмма, круговая диаграмма и тому подобное, но я имею в виду график структуры данных, а не диаграмм.