networkx.generators.line.line_graph
的用法。用法:
line_graph(G, create_using=None)
返回圖形或有向圖
G
的折線圖。圖
G
的折線圖對於G
中的每條邊都有一個節點,如果G
中的兩條邊共享一個公共節點,則有一條邊連接這些節點。對於有向圖,當節點表示的邊形成長度為 2 的有向路徑時,節點恰好相鄰。折線圖的節點是原始圖中節點的 2 元組(或多重圖的 3 元組,邊的鍵作為第三個元素)。
有關自循環和更多討論的信息,請參閱下麵的注釋部分。
- G:圖形
NetworkX 圖、有向圖、多重圖或多向圖。
- create_using:NetworkX 圖形構造函數,可選(默認=nx.Graph)
要創建的圖表類型。如果是圖形實例,則在填充之前清除。
- L:圖形
G的折線圖。
參數:
返回:
注意:
圖、節點和邊數據不會傳播到新圖。對於無向圖,G 中的節點必須是可排序的,否則構造的折線圖可能不正確。
Self-loops in undirected graphs
對於沒有多條邊的無向圖
G
,每條邊都可以寫成一個集合{u, v}
。它的折線圖L
以G
的邊作為節點。如果x
和y
是L
中的兩個節點,那麽{x, y}
是L
中的邊當且僅當x
和y
的交集是非空的。因此,所有邊的集合由G
中所有成對的邊的集合確定。簡單地說,G 中的每條邊都與自身有一個非零交點,因此
L
中的每個節點都應該有一個自環。這不是很有趣,線圖的原始上下文是簡單的圖,沒有自環或多重邊。折線圖也應該是一個簡單的圖,因此L
中的自環不是折線圖標準定義的一部分。在成對交集矩陣中,這類似於從折線圖定義中排除對角線條目。G
中的自循環和多重邊以自然的方式將節點添加到L
,並且不需要對定義進行任何根本性的更改。有人可能會爭辯說,我們之前排除的自環現在應該包括在內。然而,在某種意義上,自環仍然是“trivial”,因此通常被排除在外。Self-loops in directed graphs
對於沒有多條邊的有向圖
G
,每條邊都可以寫成一個元組(u, v)
。它的折線圖L
以G
的邊作為節點。如果x
和y
是L
中的兩個節點,那麽(x, y)
是L
中的邊當且僅當x
的尾部與y
的頭部匹配,例如,如果x = (a, b)
和y = (b, c)
用於某些頂點a
、b
和G
中的c
。由於邊的定向性質,不再是
G
中的每個邊都應該在L
中具有自循環的情況。現在,自循環出現的唯一時間是G
中的節點本身是否具有自循環。所以這樣的自環不再是“trivial”,而是代表G
拓撲的基本特征。出於這個原因,線圖的曆史發展是這樣的,包括自環。當圖G
有多個邊時,再次隻需要對定義進行表麵更改。參考:
- Harary, Frank 和 Norman, Robert Z.,“線有向圖的一些屬性”,Rend。圓形。填充。巴勒莫,II。爵士。 9 (1960), 161-168。
- 海明格,R. L.; Beineke, L. W. (1978), “Line graphs and line digraphs”, 在 Beineke, L. W.; Wilson, R. J.,圖論選題,Academic Press Inc.,第 271-305 頁。
例子:
>>> G = nx.star_graph(3) >>> L = nx.line_graph(G) >>> print(sorted(map(sorted, L.edges()))) # makes a 3-clique, K3 [[(0, 1), (0, 2)], [(0, 1), (0, 3)], [(0, 2), (0, 3)]]
相關用法
- Python NetworkX local_and_global_consistency用法及代碼示例
- Python NetworkX local_node_connectivity用法及代碼示例
- Python NetworkX latapy_clustering用法及代碼示例
- Python NetworkX louvain_communities用法及代碼示例
- Python NetworkX local_bridges用法及代碼示例
- Python NetworkX lexicographical_topological_sort用法及代碼示例
- Python NetworkX local_edge_connectivity用法及代碼示例
- Python NetworkX local_reaching_centrality用法及代碼示例
- Python NetworkX lexicographic_product用法及代碼示例
- Python NetworkX negative_edge_cycle用法及代碼示例
- Python NetworkX voronoi_cells用法及代碼示例
- Python NetworkX numerical_edge_match用法及代碼示例
- Python NetworkX inverse_line_graph用法及代碼示例
- Python NetworkX LFR_benchmark_graph用法及代碼示例
- Python NetworkX write_graph6用法及代碼示例
- Python NetworkX DiGraph.__contains__用法及代碼示例
- Python NetworkX average_degree_connectivity用法及代碼示例
- Python NetworkX eulerian_circuit用法及代碼示例
- Python NetworkX single_source_dijkstra_path_length用法及代碼示例
- Python NetworkX from_dict_of_dicts用法及代碼示例
- Python NetworkX weisfeiler_lehman_subgraph_hashes用法及代碼示例
- Python NetworkX transitive_closure_dag用法及代碼示例
- Python NetworkX intersection用法及代碼示例
- Python NetworkX MultiGraph.size用法及代碼示例
- Python NetworkX Graph.size用法及代碼示例
注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.generators.line.line_graph。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。