empty_graph#

empty_graph(n=0, create_using=None, default=<class 'networkx.classes.graph.Graph'>)[source]#

返回包含 n 个节点和零条边的空图。

(源代码, png)

../../_images/networkx-generators-classic-empty_graph-1.png
参数:
nint 或可迭代的节点容器(默认 = 0)

如果 n 是整数,节点来自 range(n)。如果 n 是节点容器,则这些节点将出现在图中。

create_using图实例、构造器或 None

要返回的图类型指示器。如果是一个图类型实例,则清空并使用它。如果为 None,则使用 default 构造器。如果是一个构造器,则调用它创建一个空图。

default图构造器(可选,默认 = nx.Graph)

如果 create_using 为 None 时使用的构造器。如果为 None,则使用 nx.Graph。当通过您的自建函数将一个未知的 create_using 值传递给 empty_graph,并且您想要一个不同于 nx.Graph 的默认构造器时,会使用此参数。

注意

变量 create_using 应该是一个图构造器或一个“图”类对象。构造器,例如 nx.Graphnx.MultiGraph 将用于创建返回的图。“图”类对象将被清空(节点和边将被移除)并重新设置为包含 n 中指定节点的空“图”。此能力对于指定结果空“图”的类性质(即 Graph、DiGraph、MyWeirdGraphClass 等)非常有用。

变量 create_using 主要有三种用途:首先,变量 create_using 可以用于创建空有向图、多重图等。例如,

>>> n = 10
>>> G = nx.empty_graph(n, create_using=nx.DiGraph)

将创建包含 n 个节点的空有向图。

其次,可以通过 create_using 传递一个现有图(有向图、多重图等)。例如,如果 G 是一个现有图(分别指有向图、多重图等),则 empty_graph(n, create_using=G) 将清空 G(即使用 G.clear() 删除所有节点和边),然后添加 n 个节点和零条边,并返回修改后的图。

第三,在构建您自己的图创建函数时,您可以使用 empty_graph 来构造图,通过将用户定义的 create_using 传递给 empty_graph。在这种情况下,如果您希望默认构造器不是 nx.Graph,请指定 default

>>> def mygraph(n, create_using=None):
...     G = nx.empty_graph(n, create_using, nx.MultiGraph)
...     G.add_edges_from([(0, 1), (0, 1)])
...     return G
>>> G = mygraph(3)
>>> G.is_multigraph()
True
>>> G = mygraph(3, nx.Graph)
>>> G.is_multigraph()
False

另请参阅 create_empty_copy(G)。

示例

>>> G = nx.empty_graph(10)
>>> G.number_of_nodes()
10
>>> G.number_of_edges()
0
>>> G = nx.empty_graph("ABC")
>>> G.number_of_nodes()
3
>>> sorted(G)
['A', 'B', 'C']
----

其他后端实现了此函数

cugraph : GPU加速后端。