栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用NetworkX和Matplotlib动画化网络增长

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用NetworkX和Matplotlib动画化网络增长

经过审查,该代码与该问题的相关性不如我想象的那样。但是,我能够使用该SO答案和该SO答案为您拼凑出一个答案。以下代码将创建一个图,向其中添加50个随机节点和50个随机边,并在添加每个节点和边后显示图的图像。代码中的一些关键更改:

  1. 该代码基于使用
    pylab.ion()
    (请参阅此处以获取更多信息)。
  2. 您的代码尝试使用一个图形并更改其中的图像。此代码为每个帧创建一个新图形。
  3. 此代码不会写到.mp4。如果您确实需要这样做,我建议您在渲染图形时将图形写到.png文件中,然后再转换为mp4。
  4. 请注意,此代码使用
    matplotlib.pyplot.pause()
    代替
    time.sleep()
    。如果使用,这些数字将不会显示
    time.sleep()

祝好运!

import randomimport pylabfrom matplotlib.pyplot import pauseimport networkx as nxpylab.ion()graph = nx.Graph()node_number = 0graph.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()))    fig = pylab.figure()    nx.draw(graph, pos=nx.get_node_attributes(graph,'Position'))    return fignum_plots = 50;pylab.show()for i in range(num_plots):    fig = get_fig()    fig.canvas.draw()    pylab.draw()    pause(2)    pylab.close(fig)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639303.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号