Tôi muốn tạo hoạt ảnh cho biểu đồ phát triển theo thời gian.Tăng trưởng mạng hoạt hình với NetworkX và Matplotlib
Đây là những gì tôi có cho đến nay:
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()
Tuy nhiên, tôi nhận được thông báo lỗi sau:
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/
Những gì tôi muốn là một phim hoạt hình, nơi bạn có thể xem đồ thị ngày càng tăng. Tôi có thể lưu đồ thị ở mỗi giai đoạn, và có thể tạo ra một hình ảnh động bên ngoài matplotlib, nhưng có cách nào để làm cho nó hoạt động như thế này không?
phụ trợ của bạn là gì? Tôi đã gặp phải một số vấn đề về hoạt ảnh với một số chương trình phụ trợ. Bạn có thể chạy [basic_example.py] của matplotlib (http://matplotlib.org/examples/animation/basic_example.html) không? – tiago
Có, điều đó hoàn toàn phù hợp với tôi. Đối với các phụ trợ, tôi chỉ trên ubuntu, python 2,7, numpy, scipy, networkx và matplotlib ... tất cả được cài đặt trong vài ngày qua, vì vậy chúng là phiên bản mới nhất ... Im cơ bản là một sinh viên, và đang thử một vài thử nghiệm, Nó sẽ thực sự hữu ích để tạo hiệu ứng cho các đồ thị này, vì vậy tôi có thể thấy chúng phát triển như thế nào! – Nicomoto
Tôi không quen với networkx. Có lẽ vấn đề là 'ArtistAnimation' mong đợi một nghệ sĩ matplotlib và không phải là một đối tượng nx? – tiago