NetworkX:如何迭代应用spring_layout等网络布局?

时间:2016-09-27 13:41:23

标签: python graph networkx

我有一个图表G,我想使用函数

布局图表

node_positions=nx.spring_layout(G, iterations=5)

但是,我想将这个函数应用10次,看看布局如何随每个应用程序而变化。似乎每次我应用它,它从头开始给我10个布局,每个5次迭代。

到目前为止我尝试了什么:

for i in range(10):
    node_positions=nx.spring_layout(G, iterations=5)            
    nx.set_node_attributes(G,'pos',node_positions)

    # draw network    
    plt.figure()
    ns = nx.draw_networkx_nodes(G, pos=node_positions, node_color=node_colors, cmap = cm.PuRd, vmin=0, vmax = 0.035, node_size=70, alpha=.9)
    es = nx.draw_networkx_edges(G, pos=node_positions, alpha=.2, edge_color='#1a1a1a')

    plt.axis('off')
    plt.show()

我想通过每5次迭代可视化其结果来了解弹簧布局的工作原理。有没有办法实现这个目标?谢谢!

1 个答案:

答案 0 :(得分:1)

spring_layout采用参数pos作为初始条件。

所以pos = nx.spring_layout(G, pos= pos, iterations=5)会奏效。第一次,只需设置pos=None