加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python—networkx:画随机几何图,找出中心节点并按路径长度染色

发布时间:2020-12-17 01:25:12 所属栏目:Python 来源:网络整理
导读:ul class="wy-breadcrumbs" style="list-style:none;"li style="list-style:none;display:inline-block;" ul class="wy-breadcrumbs" style="list-style:none;"li style="list-style:none;display:inline-block;" ul class="wy-breadcrumbs" style="list-sty

<ul class="wy-breadcrumbs" style="list-style:none;"><li style="list-style:none;display:inline-block;">
<ul class="wy-breadcrumbs" style="list-style:none;"><li style="list-style:none;display:inline-block;">
<ul class="wy-breadcrumbs" style="list-style:none;">


  • 随机生成一个集合图,自带路径属性,图大小为1*1,找出距离中心[0.5,0.5]最近的节点,并按照路径染色。
  • <ul class="wy-breadcrumbs" style="list-style:none;">

  • NetworkX Examples ? Drawing ? Random Geometric Graph
  • <ul class="wy-breadcrumbs" style="list-style:none;">

  • <code class="language-python"><pre name="code" class="python">#coding:utf-8
    import networkx as nx
    import matplotlib.pyplot as plt

    G=nx.random_geometric_graph(200,0.125)

    position is stored as node attribute data for random_geometric_graph

    pos=nx.get_node_attributes(G,'pos')

    find node near center (0.5,0.5)找到中心节点并求最近的节点,设为ncenter

    dmin=1
    ncenter=0
    for n in pos:
    x,y=pos[n]
    d=(x-0.5)2+(y-0.5)2
    if d<dmin:
    ncenter=n
    dmin=d

    color by path length from node near center颜色定为红色,程度<span style="font-family: Arial,Helvetica,sans-serif;">按距离中心点的路径长度染色

    p=nx.single_source_shortest_path_length(G,ncenter)
    plt.figure(figsize=(8,8))
    nx.draw_networkx_edges(G,pos,nodelist=[ncenter],alpha=0.4)
    nx.draw_networkx_nodes(G,nodelist=p.keys(),node_size=80,node_color=p.values(),cmap=plt.cm.Reds_r)
    plt.xlim(-0.05,1.05)
    plt.ylim(-0.05,1.05)
    plt.axis('off')
    plt.savefig('random_geometric_graph.png')
    plt.show()


    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读