NetworkX ego_graph未正确使用半径

时间:2019-03-04 09:51:38

标签: python-3.x networkx dijkstra

我正在尝试使用ego_graph绘制一些集中于一组随机选择的节点的网络。如果我没有设置distance参数,那么它将在thisRadius步骤内正确返回图形;但是,当我指定距离时,结果是完全错误的,没有任何意义。

  

如何正确使用distance的{​​{1}}功能?

在我的情况下,我的边上有各种权重,但现在要使用的权重是以分钟为单位的遍历时间,称为nx.ego_graph。假设我要在起始节点的30分钟内找到所有节点的子图。我期望

timeWeight

将返回此值,但是它将返回距离30分钟远的节点。不过,半径确实会产生一些影响,因为如果将半径减小到nodeCenteredSubgraph = nx.ego_graph(thisNetwork, egoID, radius=30, distance='timeWeight') ,则会得到较小(但仍然很大)的子图……当然,结点数也超过1分钟内可以达到的结点数。实际上,在这种情况下,我本应该得到自我。

如果我设置radius=1radius=0.1或更小,我总是会得到相同的结果,尽管比以前小很多,但它仍然返回相当大的图形……远远超出了不到一分钟(没事)。

意识到radius=0.01ego_graph为基础,我直接使用

尝试了该功能。
single_source_dijkstra

,它返回一堆权重为0.0到10.0的节点(所有整数,如果实际上使用的是distances,paths = nx.single_source_dijkstra(thisNetwork, egoID, target=None, cutoff=10, weight='timeWeight') ,则不是整数),并且与timeWeight值无关。

从文档看来,我做得对,并且找不到使用timeWeight来使用distance参数的示例,因此希望有人可以告诉我我做错了什么。< / p>

0 个答案:

没有答案