時間の経過と共に成長するグラフをアニメーション化したいと思います。NetworkXとMatplotlibでネットワークの成長をアニメーション化する
これは私がこれまで持っているものです。
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()
はしかし、私は、次のエラーメッセージが出ます:私が欲しいもの
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]ualBox:~/Desktop/CS8903-SpecialProblem/Code/
あなたはグラフが成長して見ることができ、アニメーション、です。私は各段階でグラフを保存することができ、matplotlibの外側にアニメーションを作成できるかもしれませんが、このように動作させる方法はありますか?
バックエンドは何をしたのか分からないのですか?いくつかのバックエンドでアニメーションの問題が発生しました。 matplotlibの[basic_example.py](http://matplotlib.org/examples/animation/basic_example.html)を実行できますか? – tiago
はい、それは私のために完全に動作します。 バックエンドに関しては、私はちょうどubuntu、python 2.7、numpy、scipy、networkx、matplotlibなどです...最近数日間でインストールされているので、最新のバージョンです... 基本的には学生です。いくつかのexpererimentsを試して、それは本当にこれらのグラフをアニメーション化するために役立つだろう、私は彼らがどのように成長するかを見ることができます! – Nicomoto
私はnetworkxに慣れていません。おそらく問題は 'ArtistAnimation'はmatlotlibアーティストであり、nxオブジェクトではないと期待しているということでしょうか? – tiago