Chciałbym animować wykres, który rośnie z upływem czasu.Animowanie wzrostu sieci za pomocą NetworkX i Matplotlib
To, co mam tak daleko:
fig = plt.figure()
ims = []
graph = nx.Graph()
for i in range(50):
// Code to modify Graph
nx.draw(graph, pos=nx.get_node_attributes(graph,'Position'))
im = plt.draw()
self.ims.append([im])
ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True,repeat_delay=1000)
ani.save('dynamic_images.mp4')
plt.show()
jednak, pojawia się następujący komunikat o błędzie:
File "main.py", line 204, in <module>
repeat_delay=1000)
File "/usr/lib/pymodules/python2.7/matplotlib/animation.py", line 356, in __init__
TimedAnimation.__init__(self, fig, *args, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/animation.py", line 304, in __init__
Animation.__init__(self, fig, event_source=event_source, *args, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/animation.py", line 53, in __init__
self._init_draw()
File "/usr/lib/pymodules/python2.7/matplotlib/animation.py", line 363, in _init_draw
artist.set_visible(False)
AttributeError: 'NoneType' object has no attribute 'set_visible'
[email protected]:~/Desktop/CS8903-SpecialProblem/Code/
Co chcę jest animacja, gdzie można zobaczyć wykres rośnie. Mogę zapisać wykres na każdym etapie i może być w stanie stworzyć animację poza matplotlib, ale czy jest jakiś sposób na to, aby działał w ten sposób?
Jaki jest Twój backend? Napotkałem pewne problemy z animacją z niektórymi backendami. Czy możesz uruchomić matplotlib [basic_example.py] (http://matplotlib.org/examples/animation/basic_example.html)? – tiago
Tak, to działa idealnie dla mnie. Co do zaplecza, to właśnie na ubuntu, python 2.7, numpy, scipy, networkx i matplotlib ... wszystko zainstalowane w ciągu ostatnich kilku dni, więc są one najnowszą wersją ... Im po prostu student, i Wypróbuję kilka expereriments, To byłoby naprawdę pomocne animować te wykresy, więc mogę zobaczyć, jak rosną! – Nicomoto
Nie jestem zaznajomiony z networkx. Być może problem polega na tym, że "ArtistAnimation" oczekuje artysty matplotlib, a nie obiektu nx? – tiago