获取网络的x,y位置x draw_network obj

2024-05-19 10:07:55 发布

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

我需要为一个潜在空间模型生成合成网络样本,而不是手工操作,我想我可以使用networkX绘图工具为我生成样本。在

import networkx as nx
a = nx.barabasi_albert_graph(10,2)
nx.draw_networkx(a,with_labels=True,node_size=300)

enter image description here

在numpy数组中返回的节点的位置正是我想要的,有什么简单的方法可以实现这一点吗?在

例如[(-0.24,-0.22),(-0.15,0.1),…,)]用于点1,2,…,n


Tags: 工具模型import网络networkx绘图as空间
2条回答

默认图形使用spring_layout计算的位置。您应该知道,对spring_layout的每次调用都使用一个随机种子来选择节点的初始位置。所以每次的输出都是随机的。在

处理这一问题的最佳方法是预先通过调用nx.spring_layout来设置位置,然后将可选的pos关键字参数中的这些位置传递给drawing命令(当您不想一次绘制所有图形,并且不想处理在将来的绘图中更改的节点位置时,这也有帮助)。在

import networkx as nx
a = nx.barabasi_albert_graph(10,2)
pos = nx.spring_layout(a)
nx.draw_networkx(a, pos = pos, with_labels=True,node_size=300)

相关问题 更多 >

    热门问题