Обновление фигуры matplotlib, нарисованной networkx - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу построить сеть, созданную с помощью библиотеки networkx для python, следующим образом:

import networkx as nx
import matplotlib.pyplot as plt 
nx.draw(graph, with_labels=True, node_color=setColorMap(graph, nodeDict))

Она работает хорошо, но мне нужно обновлять ее каждую секунду, и я попытался использовать

plt.close()
nx.draw(graph, with_labels=True, node_color=setColorMap(graph, nodeDict))
plt.show()

но это, похоже, не сработало.Я искал в Интернете и нашел способы закрыть фигуры и обновить их на matplotlib, но я не смог сделать это с рисунком networkx.Там может быть очень простое решение, я не имею опыта работы с этими библиотеками.

1 Ответ

0 голосов
/ 27 февраля 2019

Вы должны использовать функциональность анимации matplotlib .Вызовите команды nx.draw() в функции обновления.

Основной эскиз этого кода будет выглядеть так:

# do networkx stuff
fig = plt.figure()
def update(it):
    G = graph_list[it]
    nx.draw(G, with_labels=True, ...)
ani = animation.FuncAnimation(fig, update, frames=list(range(num_frames)))
plt.show()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...