當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NetworkX empty_graph用法及代碼示例


本文簡要介紹 networkx.generators.classic.empty_graph 的用法。

用法:

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

返回具有 n 個節點和零邊的空圖。

參數

nint 或節點的可迭代容器(默認 = 0)

如果 n 是整數,則節點來自 range(n) 。如果 n 是節點容器,則這些節點將出現在圖中。

create_using圖形實例、構造函數或無

要返回的圖形類型的指示符。如果是Graph-type 實例,則清除並使用它。如果沒有,請使用 default 構造函數。如果是構造函數,則調用它以創建一個空圖。

default圖形構造函數(可選,默認 = nx.Graph)

create_using 為 None 時使用的構造函數。如果沒有,則使用 nx.Graph。當通過您自己開發的函數將未知的 create_using 值傳遞給 empty_graph 並且您想要一個除 nx.Graph 之外的默認構造函數時,將使用此方法。

注意

變量create_using 應該是一個圖形構造器或一個類似“graph” 的對象。構造函數,例如nx.Graphnx.MultiGraph 將用於創建返回的圖形。 “graph”-like 對象將被清除(節點和邊將被刪除)並重新安裝為空的 “graph”,節點在 n 中指定。此函數對於指定生成的空 “graph”(即 Graph、DiGraph、MyWeirdGraphClass 等)的 class-nature 很有用。

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

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.generators.classic.empty_graph。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。