NetworkX:如何迭代应用spring\u布局这样的网络布局?

2024-04-25 23:02:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个图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次迭代可视化一次结果来了解spring布局是如何工作的。有办法做到这一点吗?谢谢!你知道吗


Tags: 函数posalphanetworkxnode应用程序plt布局
1条回答
网友
1楼 · 发布于 2024-04-25 23:02:30

spring_layout接受作为初始条件的参数pos。你知道吗

所以pos = nx.spring_layout(G, pos= pos, iterations=5)会起作用。第一次通过,只需设置pos=None。你知道吗

相关问题 更多 >