empty_graph#

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

返回具有 n 个节点且无边的空图。

(Source code, png)

../../_images/networkx-generators-classic-empty_graph-1.png
Parameters:
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。

Notes

变量 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 来构造图。 在这种情况下,如果您希望默认构造函数不是 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)。

Examples

>>> 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']