图形类型

NetworkX提供用于存储图形的数据结构和方法。

所有networkx图形类都允许(hashable)python对象作为节点,任何python对象都可以指定为边属性。

图形类的选择取决于要表示的图形的结构。

我应该使用哪个图形类?

图形类型 NETWorkX类
无向简单
有向简单的 DiGraph
具有自循环 图,DiGraph
有平行边缘 多图表,多图表

基本图形类型

注解

NETWorkX使用 dicts 在图形中存储节点和邻居。因此,基础图类的节点和边缘的报告在不同版本和平台之间不一定是一致的。如果需要节点和边缘的顺序保持一致(例如,编写自动测试时),请参见 OrderedGraphOrderedDiGraphOrderedMultiGraphOrderedMultiDiGraph ,其行为类似于基础图类,但为节点和边的报告提供一致的顺序。

图形视图

图的视图,如子图、反转图、有向图、无向图。

在某些算法中,可以方便地临时变形图形以排除某些节点或边。通过视图执行此操作应该比删除然后重新添加要好。在其他算法中,可以方便地临时变形一个图来反转有向边,或者将有向图视为无向图等,本模块提供了这些图视图。

结果视图本质上是只读图形,报告来自原始图形对象的数据。我们提供了一个指向底层图形对象的属性g.u图。

注意:因为graphview看起来像图形,所以可以以视图链的视图结束。小心使用链,因为它们在使用大约15个嵌套视图时速度非常慢。对于从图类创建的节点诱导子图的常见简单情况,我们通过直接返回原始图的子图而不是子图的子图来缩短链。我们小心不要破坏中间子图中的任何边滤波器。一般来说,确定如何缩短链是一个棘手的问题,而且受限视图比诱导子图更难。通常最容易使用.copy()来避免链。

generic_graph_view (g) [, create_using] )
subgraph_view (g) [, filter_node, filter_edge] )
reverse_view (g)