如何根据标准

时间:2017-11-30 23:49:54

标签: networkx

我有02个问题: 1-从下面的图2中,我想基于一个标准在networkx中创建几个区域(第一个区域从节点X开始直到给定的一组节点)。例如,区域1从节点1开始到节点(4和16)。有没有办法做到这一点?

create regions on the graph 2-我还想确定附图中每个节点的深度

node_depth of a graph

感谢您提供任何可能有用的提示。

2 个答案:

答案 0 :(得分:0)

你是什么意思"地区"?你在问如何创建子图(https://en.wikipedia.org/wiki/Glossary_of_graph_theory_terms#subgraph)吗?也就是说,您是否要创建单独的较小图形,其中仅包含您在图片中绘制的区域中存在的节点和边缘?

如果是这样,您可以使用subgraph()的{​​{1}}功能执行此操作。 在您的示例中,要创建区域1的子图,您将执行以下操作: networkx 和区域2和3的等效声明。

然后对于节点深度,我不确定你的意思,但我认为你可能意味着距离某个根节点的距离。 假设您的根节点为1。 然后找到"深度"对于每个节点,您要查找该节点与1之间的距离(边数)。

为此,您可以执行以下操作:

region1 = graph2.subgraph([1,2,3,4,11,12,13,14,15,16])

答案 1 :(得分:0)

我不是网络专家,所以很抱歉没有使用正确的条款。回到我的02点:一个区域可以有效地被视为一个子图。要注意区域构造背后的主要标准是从参考节点(区域1的节点1)开始并包括所有节点和边缘,直到在特定边缘满足特定条件(在我的情况下,它是在边缘存在电子设备。)

how to build a region