连接两组之间的图表

问题描述 投票:0回答:1

我创建了一个程序,接受两组句子作为输入,并在它们之间进行一些比较。组'A'中的每个句子在组'B'中具有一个或多个匹配句子,组'B'中的句子可以匹配'A'中的多个句子。每个关系都有一个数值。我正在尝试创建一个描述这些连接的图表,以便轻松查看连接。我想创建一个二分图,使每个弧都有值,如下图所示(左边是A组,右边是B组)(from here)。

我正在寻找其他想法,或者我可以使用它的库。谢谢。 enter image description here

python python-3.x graph-theory
1个回答
1
投票

一个双分图对此很有意义,如果你使用networkX库,你可以轻松创建一个。假设你有AB中的元素以及包含边缘的列表

A = ['a1', 'a2', 'a3', 'a4']
B = ['b1', 'b2', 'b3', 'b4']
edges = [('a1', 'b1', 0.5), ('a1', 'b2', 0.3), ('b3', 'a4', 0.1)]
G = nx.Graph()
G.add_nodes_from(A], bipartite=0) # Add the node attribute "bipartite"
G.add_nodes_from(B, bipartite=1)
G.add_weighted_edges_from(edges)

请注意,这只是一个普通的图形,并且通过属性bipartite告诉它的唯一方法是bi-partite。如果您需要做一些事情,比如投影图表或仅访问一侧,那么在networkX documentation中就会有更多内容。

© www.soinside.com 2019 - 2024. All rights reserved.