首页 > 解决方案 > 在networkx中创建随机距离节点

问题描述

我试图让节点连接到不同距离的主节点。

到目前为止我所拥有的:

import networkx as nx

G = nx.empty_graph( 3 , create_using= None)
G.add_edge(0,1)
G.add_edge(0,2)

到主节点距离相等的图

但是,从图像中可以看出,两侧节点之间的距离与主节点的距离相等。有没有办法让他们到主节点的距离不同?

标签: pythonnetworkx

解决方案


你的问题有两个部分:

第 1 部分 - 节点之间的距离: 在网络理论中,节点之间的距离由它们之间的边的权重表示。因此,您可以使用以下行将所有带有权重的边添加到网络中:

G = nx.Graph()
G.add_weighted_edges_from([(0,1,4.0),(0,2,5.0)])

您可以随机化上述边缘上的权重,以获得节点之间的随机距离。

第 2 部分 - 网络可视化: 我知道您更关心网络图的显示方式。如果您使用nx.draw_random(G),您可以获得节点之间的随机距离,并建议您在获得所需图形时保存图片,因为每次运行时它都会随机化。

希望能帮助到你... :)


推荐阅读