如何解决为什么我的图不是二部图,我认为我使用相应的 networkx 函数将它们创建为二部图?
我写了一个函数:
$('#calendar').fullCalendar({
selectOverlap: false,eventOverlap:false,})
如您所见,此图必须是二部图,但我明白了:
1 和 2 相连。所以,如果我可以使用这个 B = nx.Graph()
B.add_nodes_from([1,2,3,4],bipartite=0)
B.add_nodes_from(["a","b","c"],bipartite=1)
B.add_edges_from([(1,"a"),(1,"b"),(2,"c"),(3,(4,2)])
layout = nx.bipartite_layout(B,[1,4])
nx.draw_networkx(B,pos=layout)
在它们之间添加边,那么写这个:B.add_edges_from([(1,2)])
并指定它的二分有什么意义?
解决方法
您已为节点分配了属性 bipartite=0
或 1
。然而,这只是节点的一个属性。您可以为它们分配您想要的任何属性,使用任何名称(颜色、重量、物种名称等)——它对存在的边没有影响。特别是,没有特别注意属性的名称。您已将属性命名为 'bipartite'
,但就 networkx 命令而言,您可以轻松地将该属性命名为 'fubar'
。没关系。
您在节点 1 和 2 之间添加了一条边。Networkx 不会查看图的属性并做出拒绝允许您创建的边的选择。
就您而言,我认为您的问题的答案是设置名为 'bipartite'
的属性似乎没有意义。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。