Animating Network Growth with NetworkX and Matplotlib

前端 未结 3 454
被撕碎了的回忆
被撕碎了的回忆 2020-12-04 18:50

I would like to animate a graph that grows over time.

This is what I have so far:

fig = plt.figure()
ims = []
graph = nx.Graph()
for i in range(50):
         


        
3条回答
  •  情话喂你
    2020-12-04 19:16

    An improved version of bretlance's. Hope it will be helpful. It will show animations but not picture after picture.

    Still don't know how the owner of the question Animate drawing networkx edges made use of matplotlib's animation

    #!/usr/bin/env python
    import random
    import pylab
    from matplotlib.pyplot import pause
    import networkx as nx
    pylab.ion()
    
    graph = nx.Graph()
    node_number = 0
    graph.add_node(node_number, Position=(random.randrange(0, 100), random.randrange(0, 100)))
    
    def get_fig():
        global node_number
        node_number += 1
        graph.add_node(node_number, Position=(random.randrange(0, 100), random.randrange(0, 100)))
        graph.add_edge(node_number, random.choice(graph.nodes()))
        nx.draw(graph, pos=nx.get_node_attributes(graph,'Position'))
    
    num_plots = 50;
    pylab.show()
    
    for i in range(num_plots):
    
        get_fig()
        pylab.draw()
        pause(2)
    

提交回复
热议问题