所有人
考虑下面的示例“树状”图。在
在纵向上,它是一个基于节点“0”的层次结构。 从水平上讲,它是一个从1级开始的基于组的结构,组意味着从一个根节点继承的节点
'''
+---+
| 0 | Level 0
+---+
|
+--------------+---------------+
| | |
+---+ +---+ +---+
| 1 | | 2 | | 3 | Level 1
+---+ +---+ +---+
+-----+----+ +-----+-----+ +|---+-----+
| | | | | | | | |
+---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+
|11 | |12 | |13 | |21 | |22 | |23 | |31 | |32 | |33 | Level 2
+---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+
| | / | / | | |
| | / | / | | |
| +---+ +---+ +---+ +---+ |
| |121|-|131| |211| |221| | Level 3
| +---+ +---+ +---+ +---+ |
| |--------|------| |
|-----------|----------------------------|
| Group 0 | group 1 | group 2 |
'''
在Networkx中创建:
^{pr2}$问题:
如何在图中找出节点和边,以下面的节点为例:
“121”,在同一组中有多个链接指向更高级别?(节点边缘类型为“不确定”,可能在度或度外,或两者兼而有之,在以下问题中相同)
“131”,有多个链接到另一个组的高级别节点?
“131”,链接到同一组中的同一级别节点
“131”,具有指向同一级别节点但在其他组中的链接
“21”,带有指向不同组中较低级别节点的链接
新的“图形”和尝试获得示例代码图如何使用networkx深入挖掘。在
非常感谢。在
像这样的事情也许会奏效。它使用节点的长度作为级别(必须在代码中注释掉0级节点才能正常工作),节点字符串的第一个元素作为组。我认为这正是您对数据结构的预期。在
首先,您应该以某种方式定义节点所在的组或级别,因为它没有在图istelf中定义,因为附加的边破坏了树结构。 我只是按照您的命名模式编写了以下helper函数,将给定的名称转换为级别/组:
然后,可以根据您的规范筛选节点:
^{pr2}$结果如下:
通常,您可以找到不需要的边,如下所示:
因此:
如您所见,源于
0
的边在那里,因为它被分类为组1,但是节点1
和节点3
不是。根据对节点的分类方式,0
可以调整函数以包含或排除根节点。在相关问题 更多 >
编程相关推荐