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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。