使用 networkx 可视化图的组成二
在本文中,我们将看到如何使用 networkx 可视化图的组成二。如果给定两个图 A 和 B,则可以通过对 A 和 B 的节点集和边集执行联合运算来找到它们的组合。
简单地,如果任何初始图中的任何两个顶点之间包含一条边,它将包含在这些图的组合中。
例子:
初始图 G:
初始图 H:
G和H的合成结果:
说明:如果我们使用整数命名图 G 和 H 中的节点,那么我们将清楚地观察到 G 的节点和边集将是 H 的超集,因此它们的联合给出 G 作为回报。
示例 2:
初始图 G:
初始图 H:
G和H的合成结果:
说明:我们可以看到,除了右起第一个和第三个节点之间的节点之外,图 G 中的所有边都存在于图 H 中,因此将 G 和 H 的所有边添加到结果中。
关于 Compose函数的要点:
- H 属性优先于 G 属性。
- 返回的图形与 G 的类型相同。
- G 和 H 要么都是有向的,要么都是无向的。
- G 和 H 必须都是图或多重图
使用Python实现组合:
我们将在我们的任务中使用 networkx.compose()函数来组合 2 个图。
Syntax: compose(G, H)
- G: It is a networkx Graph object which is passed as an argument to compose function.
- H: It is also an networkx Graph object which is passed as an argument to compose function.
Result of compose function will be union of edge and vertices set of G and H.
方法:
- 我们将使用别名 nx 导入 networkx。
- 使用 path_graph()函数创建一个示例图对象 G。
- 使用 path_graph()函数创建第二个示例图形对象 H。
- 然后我们将调用 compose函数,将 G 作为参数传递。
- 我们将在另一个对象 R 中捕获 compose函数返回的对象。
- 然后我们将调用 draw()函数,将 R 作为参数传递,该函数将显示补码图。
代码:
Python3
# importing networkx module
import networkx as nx
# creating sample graph object
G = nx.path_graph(7)
# creating sample graph object
H = nx.path_graph(3)
# compose of G and H saving in R
R = nx.compose(G,H)
# calling draw() to visualize the complement graph
nx.draw(R)
输出: