empty_graph#
- empty_graph(n=0, create_using=None, default=<class 'networkx.classes.graph.Graph'>)[source]#
返回包含 n 个节点和零条边的空图。
- 参数:
- 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.Graph
或nx.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加速后端。