嘿,伙计们!今天,在这个教程中,我们将了解什么是双曲线图,以及如何使用networkx库在python编程语言中实现它们。
双子星图的介绍
A 二方图 是一个图,其顶点可以分为两个独立的集合--A和B。每一个(a, b)意味着集合A的一个节点和集合B的一个节点之间有一个连接。
一个集合中的节点不能相互连接,它们只能与另一个集合中的节点连接。

双曲线图实例
例如,在对客户的购买行为进行建模时,二方图可能很有用。在这种情况下,节点被分为两组:顾客的分区和产品的分区。
边缘表示一个消费者购买了某种产品。在这种情况下,似乎可以推理出物品之间不能相互联系;毕竟,一个产品不能购买另一个产品。
在Python中实现Bitpartite Graph
程序的第一步是将模块/库导入我们的代码中。我们将需要从networkx中导入基本的networkx以及bipartite。
import networkx as nx
from networkx.algorithms import bipartite
接下来,我们将创建一个空图,以便在后面的章节中向其添加节点和边。
G = nx.Graph()
下一步是添加节点属性为 "bipartite "的节点。在这里,"双联 "属性的值决定了节点的类别。如果它的值是0,那么它属于第一类,如果它的值是1,它属于第二类。
G.add_nodes_from(['A1','A2','A3','A4'], bipartite=0)
G.add_nodes_from(['B1','B2','B3'],bipartite=1)
接下来,我们将只在相反类别的节点之间添加边。你可以添加你想要的边,现在,我们已经添加了几条边。
G.add_edges_from([('A1', "B3"),('A4', "B1"),('A2', "B2"),('A2', "B3"),('A3', "B1")])
我们也可以用下面提到的简单的代码行来确认该图是否是二方的。
bipartite.is_bipartite(G)
现在,通过下面提到的代码片断,可以非常容易地实现图形的可视化。
nx.draw_networkx(G, pos = nx.drawing.layout.bipartite_layout(G, ['A1','A2','A3','A4']), width = 2)

二方图的可视化
总结
祝贺你!你刚刚学会了如何建立一个双面图。你刚刚学会了如何使用Networkx建立一个双子星图。希望你喜欢它!😇
谢谢您抽出时间!希望你能学到新的东西!!😄